1!function(){function t(e,n,i){function r(a,s){if(!n[a]){if(!e[a]){var l="function"==typeof require&&require;if(!s&&l)return l(a,!0);if(o)return o(a,!0);var h=new Error("Cannot find module '"+a+"'");throw h.code="MODULE_NOT_FOUND",h}var c=n[a]={exports:{}};e[a][0].call(c.exports,function(t){var n=e[a][1][t];return r(n||t)},c,c.exports,t,e,n,i)}return n[a].exports}for(var o="function"==typeof require&&require,a=0;a<i.length;a++)r(i[a]);return r}return t}()({1:[function(t,e,n){!function(){"use strict";function t(t,e){return void 0===e&&(e=G),q.test(t)?e.getElementsByClassName(t.slice(1)):J.test(t)?e.getElementsByTagName(t):e.querySelectorAll(t)}function i(e,n){if(void 0===n&&(n=G),e){if(e.__cash)return e;var i=e;if(c(e)){if(n.__cash&&(n=n[0]),i=Z.test(e)?n.getElementById(e.slice(1)):Q.test(e)?m(e):t(e,n),!i)return}else if(h(e))return this.ready(e);(i.nodeType||i===k)&&(i=[i]),this.length=i.length;for(var r=0,o=this.length;r<o;r++)this[r]=i[r]}}function r(t,e){return new i(t,e)}function o(t){return t.replace(tt,function(t,e){return t[e?"toUpperCase":"toLowerCase"]()}).replace(et,"")}function a(t,e){for(var n=0,i=t.length;n<i&&e.call(t[n],t[n],n,t)!==!1;n++);}function s(t){void 0===t&&(t=this);for(var e=arguments,n=e.length,i=n<2?0:1;i<n;i++)for(var r in e[i])t[r]=e[i][r];return t}function l(t,e){var n=t&&(t.matches||t.webkitMatchesSelector||t.mozMatchesSelector||t.msMatchesSelector||t.oMatchesSelector);return!!n&&n.call(t,e)}function h(t){return"function"==typeof t}function c(t){return"string"==typeof t}function u(t){return!isNaN(parseFloat(t))&&isFinite(t)}function p(t){return c(t)?function(e,n){return l(n,t)}:t.__cash?function(e,n){return t.is(n)}:function(t,e,n){return e===n}}function d(t){return c(t)?t.match(rt)||[]:[]}function f(){if(!ot){ot=G.implementation.createHTMLDocument("");var t=ot.createElement("base");t.href=G.location.href,ot.head.appendChild(t)}}function m(t){return f(),c(t)||(t=""),ot.body.innerHTML=t,Y.call(ot.body.childNodes)}function g(t){return t.filter(function(t,e,n){return n.indexOf(t)===e})}function v(t,e,n){if(1===t.nodeType){var i=k.getComputedStyle(t,null);return e?n?i.getPropertyValue(e):i[e]:i}}function y(t,e){return parseInt(v(t,e),10)||0}function _(t){return at.test(t)}function b(t,e){if(void 0===e&&(e=_(t)),e)return t;if(!st[t]){var n=o(t),i=""+n.charAt(0).toUpperCase()+n.slice(1),r=(n+" "+ct.join(i+" ")+i).split(" ");a(r,function(e){if(e in ht)return st[t]=e,!1})}return st[t]}function x(t,e,n){return void 0===n&&(n=_(t)),n||ut[t]||!u(e)?e:e+"px"}function A(t){return t[pt]=t[pt]||{}}function w(t,e){var n=A(t);if(e){if(!(e in n)){var i=t.dataset?t.dataset[e]||t.dataset[o(e)]:r(t).attr("data-"+e);if(void 0!==i){try{i=JSON.parse(i)}catch(a){}n[e]=i}}return n[e]}return n}function E(t,e){void 0===e?delete t[pt]:delete A(t)[e]}function T(t,e,n){A(t)[e]=n}function S(t,e){return y(t,"border"+(e?"Left":"Top")+"Width")+y(t,"padding"+(e?"Left":"Top"))+y(t,"padding"+(e?"Right":"Bottom"))+y(t,"border"+(e?"Right":"Bottom")+"Width")}function M(t,e){for(var n=0,i=e.length;n<i;n++)if(t.indexOf(e[n])<0)return!1;return!0}function C(t,e,n){a(t[n],function(t){var i=(t[0],t[1]);e.removeEventListener(n,i)}),delete t[n]}function P(t){return t[ft]=t[ft]||{}}function L(t,e,n,i){i.guid=i.guid||nt++;var r=P(t);r[e]=r[e]||[],r[e].push([n,i]),t.addEventListener(e,i)}function R(t){var e=t.split(mt);return[e[0],e.slice(1).sort()]}function N(t,e,n,i){var r=P(t);if(e){var o=r[e];if(!o)return;i&&(i.guid=i.guid||nt++),r[e]=o.filter(function(r){var o=r[0],a=r[1];return!((!i||a.guid===i.guid)&&M(o,n))||void t.removeEventListener(e,a)})}else if(n&&n.length)for(e in r)N(t,e,n,i);else for(e in r)C(r,t,e)}function O(t){var e=[];return a(t.options,function(t){!t.selected||t.disabled||t.parentNode.disabled||e.push(t.value)}),e}function I(t){return t.selectedIndex<0?null:t.options[t.selectedIndex].value}function D(t){var e=t.type;return gt.test(e)?I(t):vt.test(e)?O(t):t.value}function B(t,e){return"&"+encodeURIComponent(t)+"="+encodeURIComponent(e).replace(yt,"+")}function U(t,e,n){n?t.insertBefore(e,t.childNodes[0]):t.appendChild(e)}function V(t,e,n){var i=c(e);!i&&e.length?a(e,function(e){return V(t,e,n)}):a(t,i?function(t){t.insertAdjacentHTML(n?"afterbegin":"beforeend",e)}:function(t,i){return U(t,i?e.cloneNode(!0):e,n)})}var G=document,k=window,H=Array.prototype,F=H.filter,z=H.indexOf,j=H.map,X=H.push,W=H.reverse,Y=H.slice,K=H.splice,Z=/^#[\w-]*$/,q=/^\.[\w-]*$/,Q=/<.+>/,J=/^\w+$/,$=r.fn=r.prototype=i.prototype={constructor:r,__cash:!0,length:0,splice:K};$.get=function(t){return void 0===t?Y.call(this):this[t<0?t+this.length:t]},$.eq=function(t){return r(this.get(t))},$.first=function(){return this.eq(0)},$.last=function(){return this.eq(-1)},$.map=function(t){return r(j.call(this,function(e,n){return t.call(e,n,e)}))},$.slice=function(){return r(Y.apply(this,arguments))};
1var tt=/(?:^\w|[A-Z]|\b\w)/g,et=/[\s-_]+/g;r.camelCase=o,r.each=a,$.each=function(t){return a(this,function(e,n){return t.call(e,n,e)}),this},$.removeProp=function(t){return this.each(function(e,n){delete n[t]})},"undefined"!=typeof n?e.exports=r:k.cash=k.$=r,r.extend=$.extend=s;var nt=1;r.guid=nt,r.matches=l,r.isFunction=h,r.isString=c,r.isNumeric=u;var it=Array.isArray;r.isArray=it,$.prop=function(t,e){if(t){if(c(t))return arguments.length<2?this[0]&&this[0][t]:this.each(function(n,i){i[t]=e});for(var n in t)this.prop(n,t[n]);return this}},$.filter=function(t){if(!t)return r();var e=h(t)?t:p(t);return r(F.call(this,function(n,i){return e.call(n,i,n,t)}))};var rt=/\S+/g;$.hasClass=function(t){var e=d(t),n=!1;return e.length&&this.each(function(t,i){return n=i.classList.contains(e[0]),!n}),n},$.removeAttr=function(t){var e=d(t);return e.length?this.each(function(t,n){a(e,function(t){n.removeAttribute(t)})}):this},$.attr=function(t,e){if(t){if(c(t)){if(arguments.length<2){if(!this[0])return;var n=this[0].getAttribute(t);return null===n?void 0:n}return null===e?this.removeAttr(t):this.each(function(n,i){i.setAttribute(t,e)})}for(var i in t)this.attr(i,t[i]);return this}},$.toggleClass=function(t,e){var n=d(t),i=void 0!==e;return n.length?this.each(function(t,r){a(n,function(t){i?e?r.classList.add(t):r.classList.remove(t):r.classList.toggle(t)})}):this},$.addClass=function(t){return this.toggleClass(t,!0)},$.removeClass=function(t){return arguments.length?this.toggleClass(t,!1):this.attr("class","")};var ot;r.parseHTML=m,r.unique=g,$.add=function(t,e){return r(g(this.get().concat(r(t,e).get())))};var at=/^--/,st={},lt=G.createElement("div"),ht=lt.style,ct=["webkit","moz","ms","o"];r.prefixedProp=b;var ut={animationIterationCount:!0,columnCount:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0};$.css=function(t,e){if(c(t)){var n=_(t);return t=b(t,n),arguments.length<2?this[0]&&v(this[0],t,n):t?(e=x(t,e,n),this.each(function(i,r){1===r.nodeType&&(n?r.style.setProperty(t,e):r.style[t]=e)})):this}for(var i in t)this.css(i,t[i]);return this};var pt="__cashData",dt=/^data-(.*)/;r.hasData=function(t){return pt in t},$.data=function(t,e){var n=this;if(!t){if(!this[0])return;return a(this[0].attributes,function(t){var e=t.name.match(dt);e&&n.data(e[1])}),w(this[0])}if(c(t))return void 0===e?this[0]&&w(this[0],t):this.each(function(n,i){return T(i,t,e)});for(var i in t)this.data(i,t[i]);return this},$.removeData=function(t){return this.each(function(e,n){return E(n,t)})},a(["Width","Height"],function(t){$["inner"+t]=function(){if(this[0])return this[0]===k?k["inner"+t]:this[0]["client"+t]}}),a(["width","height"],function(t,e){$[t]=function(n){return this[0]?arguments.length?(n=parseInt(n,10),this.each(function(i,r){if(1===r.nodeType){var o=v(r,"boxSizing");r.style[t]=x(t,n+("border-box"===o?S(r,!e):0))}})):this[0]===k?this[0][o("outer-"+t)]:this[0].getBoundingClientRect()[t]-S(this[0],!e):void 0===n?void 0:this}}),a(["Width","Height"],function(t,e){$["outer"+t]=function(n){if(this[0])return this[0]===k?k["outer"+t]:this[0]["offset"+t]+(n?y(this[0],"margin"+(e?"Top":"Left"))+y(this[0],"margin"+(e?"Bottom":"Right")):0)}});var ft="__cashEvents",mt=".";$.off=function(t,e){var n=this;return void 0===t?this.each(function(t,e){return N(e)}):a(d(t),function(t){var i=R(t),r=i[0],o=i[1];n.each(function(t,n){return N(n,r,o,e)})}),this},$.on=function(t,e,n,i){var r=this;if(!c(t)){for(var o in t)this.on(o,e,t[o]);return this}return h(e)&&(n=e,e=!1),a(d(t),function(t){var o=R(t),a=o[0],s=o[1];r.each(function(t,r){var o=function h(t){if(!t.namespace||M(s,t.namespace.split(mt))){var o=r;if(e){for(var c=t.target;!l(c,e);){if(c===r)return;if(c=c.parentNode,!c)return}o=c}t.namespace=t.namespace||"";var u=n.call(o,t,t.data);i&&N(r,a,s,h),u===!1&&(t.preventDefault(),t.stopPropagation())}};o.guid=n.guid=n.guid||nt++,L(r,a,s,o)})}),this},$.one=function(t,e,n){return this.on(t,e,n,!0)},$.ready=function(t){var e=function(){return t(r)};return"loading"!==G.readyState?setTimeout(e):G.addEventListener("DOMContentLoaded",e),this},$.trigger=function(t,e){var n=t;if(c(t)){var i=R(t),r=i[0],o=i[1];n=G.createEvent("HTMLEvents"),n.initEvent(r,!0,!0),n.namespace=o.join(mt)}return n.data=e,this.each(function(t,e){e.dispatchEvent(n)})};var gt=/select-one/i,vt=/select-multiple/i,yt=/%20/g,_t=/file|reset|submit|button|image/i,bt=/radio|checkbox/i;$.serialize=function(){var t="";return this.each(function(e,n){a(n.elements||[n],function(e){if(!e.disabled&&e.name&&"FIELDSET"!==e.tagName&&!_t.test(e.type)&&(!bt.test(e.type)||e.checked)){var n=D(e);if(void 0!==n){var i=it(n)?n:[n];a(i,function(n){t+=B(e.name,n)})}}})}),t.substr(1)},$.val=function(t){return void 0===t?this[0]&&D(this[0]):this.each(function(e,n){vt.test(n.type)&&it(t)?a(n.options,function(e){e.selected=t.indexOf(e.value)>=0}):n.value=t})},$.clone=function(){return this.map(function(t,e){return e.cloneNode(!0)})},$.detach=function(){return this.each(function(t,e){e.parentNode&&e.parentNode.removeChild(e)})},$.append=function(){var t=this;return a(arguments,function(e){V(t,e)}),this},$.appendTo=function(t){return V(r(t),this),this},$.html=function(t){if(void 0===t)return this[0]&&this[0].innerHTML;var e=t.nodeType?t[0].outerHTML:t;return this.each(function(t,n){n.innerHTML=e})},$.empty=function(){return this.html("")},$.insertAfter=function(t){var e=this;return r(t).each(function(t,n){var i=n.parentNode;e.each(function(e,r){i.insertBefore(t?r.cloneNode(!0):r,n.nextSibling)})}),this},$.after=function(){var t=this;
1return a(W.apply(arguments),function(e){W.apply(r(e).slice()).insertAfter(t)}),this},$.insertBefore=function(t){var e=this;return r(t).each(function(t,n){var i=n.parentNode;e.each(function(e,r){i.insertBefore(t?r.cloneNode(!0):r,n)})}),this},$.before=function(){var t=this;return a(arguments,function(e){r(e).insertBefore(t)}),this},$.prepend=function(){var t=this;return a(arguments,function(e){V(t,e,!0)}),this},$.prependTo=function(t){return V(r(t),W.apply(this.slice()),!0),this},$.remove=function(){return this.detach().off()},$.replaceWith=function(t){var e=this;return this.each(function(n,i){var o=i.parentNode;if(o){var a=n?r(t).clone():r(t);if(!a[0])return e.remove(),!1;o.replaceChild(a[0],i),r(a[0]).after(a.slice(1))}})},$.replaceAll=function(t){return r(t).replaceWith(this),this},$.text=function(t){return void 0===t?this[0]?this[0].textContent:"":this.each(function(e,n){n.textContent=t})};var xt=G.documentElement;$.offset=function(){var t=this[0];if(t){var e=t.getBoundingClientRect();return{top:e.top+k.pageYOffset-xt.clientTop,left:e.left+k.pageXOffset-xt.clientLeft}}},$.offsetParent=function(){return r(this[0]&&this[0].offsetParent)},$.position=function(){var t=this[0];if(t)return{left:t.offsetLeft,top:t.offsetTop}},$.children=function(t){var e=[];return this.each(function(t,n){X.apply(e,n.children)}),e=r(g(e)),t?e.filter(function(e,n){return l(n,t)}):e},$.contents=function(){var t=[];return this.each(function(e,n){X.apply(t,"IFRAME"===n.tagName?[n.contentDocument]:n.childNodes)}),r(t.length&&g(t))},$.find=function(e){for(var n=[],i=0,o=this.length;i<o;i++){var a=t(e,this[i]);a.length&&X.apply(n,a)}return r(n.length&&g(n))},$.has=function(e){var n=c(e)?function(n,i){return!!t(e,i).length}:function(t,n){return n.contains(e)};return this.filter(n)},$.is=function(t){if(!t||!this[0])return!1;var e=p(t),n=!1;return this.each(function(i,r){return n=e(i,r,t),!n}),n},$.next=function(){return r(this[0]&&this[0].nextElementSibling)},$.not=function(t){if(!t||!this[0])return this;var e=p(t);return this.filter(function(n,i){return!e(n,i,t)})},$.parent=function(){var t=[];
1return this.each(function(e,n){n&&n.parentNode&&t.push(n.parentNode)}),r(g(t))},$.index=function(t){var e=t?r(t)[0]:this[0],n=t?this:r(e).parent().children();return z.call(n,e)},$.closest=function(t){return t&&this[0]?this.is(t)?this.filter(t):this.parent().closest(t):r()},$.parents=function(t){var e,n=[];return this.each(function(i,r){for(e=r;e&&e.parentNode&&e!==G.body.parentNode;)e=e.parentNode,(!t||t&&l(e,t))&&n.push(e)}),r(g(n))},$.prev=function(){return r(this[0]&&this[0].previousElementSibling)},$.siblings=function(){var t=this[0];return this.parent().children().filter(function(e,n){return n!==t})}}()},{}],2:[function(t,e,n){var i=t("./lib/ControlKit");i.Canvas=t("./lib/component/Canvas"),i.SVG=t("./lib/component/SVG"),e.exports=i},{"./lib/ControlKit":3,"./lib/component/Canvas":6,"./lib/component/SVG":23}],3:[function(t,e,n){function i(e){if(M)throw new Error("ControlKit is already initialized.");e=e||{},e.history=void 0===e.history?x:e.history,e.loadAndSave=void 0===e.loadAndSave?T:e.loadAndSave,e.opacity=void 0===e.opacity?A:e.opacity,e.panelsClosable=void 0===e.panelsClosable?w:e.panelsClosable,e.useExternalStyle=void 0!==e.useExternalStyle&&e.useExternalStyle,e.enable=void 0===e.enable?E:e.enable,h.apply(this,arguments);var n=null;if(e.parentDomElementId?n=r.getNodeById(e.parentDomElementId):(n=new r,document.body.appendChild(n.getElement())),!e.useExternalStyle){var i=document.createElement("style");i.type="text/css";var o=e.style?e.styleString:t("./core/document/Style").string;i.stylesheet?i.stylesheet.cssText=o:i.appendChild(document.createTextNode(o)),(document.head||document.getElementsByTagName("head")[0]).appendChild(i)}n.setProperty("id",l.ControlKit),this._node=n,this._panels=[],this._enabled=e.enable,this._historyEnabled=e.history,this._statesEnabled=e.loadAndSave,this._panelsClosable=e.panelsClosable;var c=m.setup();this._historyEnabled?(c.addEventListener(d.STATE_PUSH,this,"onHistoryStatePush"),c.addEventListener(d.STATE_POP,this,"onHistoryStatePop")):c.disable(),v.setup(),s.setup(n),a.setup(n);var p=e.opacity;1!=p&&0!=p&&n.setStyleProperty("opacity",p),this._canUpdate=!0;var f,g=this,y=0,_=10;window.addEventListener(u.WINDOW_RESIZE,function(){g._canUpdate=!1,clearInterval(f),f=setInterval(function(){y>=_&&(y=0,g._canUpdate=!0,clearInterval(f)),y++},25)}),this._shortcutEnable=S,document.addEventListener("keydown",function(t){t.ctrlKey&&String.fromCharCode(t.which||t.keyCode).toLowerCase()==g._shortcutEnable&&(g._enabled=!g._enabled,g._enabled?g._enable():g._disable())}),this._enabled||this._disable(),M=!0}var r=t("./core/document/Node"),o=t("./group/Panel"),a=t("./component/Options"),s=t("./component/Picker"),l=t("./core/document/CSS"),h=t("./core/event/EventDispatcher"),c=t("./core/event/Event"),u=t("./core/document/DocumentEvent"),p=(t("./core/document/NodeEvent"),t("./core/ComponentEvent")),d=t("./core/HistoryEvent"),f=t("./group/MenuEvent"),m=t("./core/History"),g=t("./core/State"),v=t("./core/document/Mouse"),y=t("./component/ValuePlotter"),_=t("./component/StringOutput"),b=t("./component/NumberOutput"),x=!1,A=1,w=!1,E=!0,T=!1,S="h",M=!1;i.prototype=Object.create(h.prototype),i.prototype.constructor=i,i.prototype.addPanel=function(t){var e=new o(this,t);return this._panels.push(e),e},i.prototype.update=function(){if(this._enabled&&this._canUpdate){var t,e,n,i,r,o,a,s,l,h,c=this._panels;for(t=-1,i=c.length;++t<i;)if(a=c[t],!a.isDisabled())for(s=a.getGroups(),e=-1,r=s.length;++e<r;)for(l=s[e].getComponents(),n=-1,o=l.length;++n<o;)h=l[n],h.isDisabled()||(h instanceof y||h instanceof _||h instanceof b)&&h.update()}},i.prototype.historyIsEnabled=function(){return this._historyEnabled},i.prototype.statesAreEnabled=function(){return this._statesEnabled},i.prototype.panelsAreClosable=function(){return this._panelsClosable},i.prototype._enable=function(){for(var t=-1,e=this._panels,n=e.length;++t<n;)e[t].enable();this._node.setStyleProperty("visibility","")},i.prototype._disable=function(){for(var t=-1,e=this._panels,n=e.length;++t<n;)e[t].disable();this._node.setStyleProperty("visibility","hidden")},i.prototype.enable=function(){this._enable(),this._enabled=!0},i.prototype.disable=function(){this._disable(),this._enabled=!1},i.prototype.setShortcutEnable=function(t){this._shortcutEnable=t},i.prototype.onHistoryStatePush=function(){this.dispatchEvent(new c(this,f.UPDATE_MENU,null))},i.prototype.onHistoryStatePop=function(){this.dispatchEvent(new c(this,p.UPDATE_VALUE,{origin:null})),this.dispatchEvent(new c(this,f.UPDATE_MENU,null))},i.prototype.loadSettings=function(t){for(var e=-1,n=t.length,i=this._panels;++e<n;)i[e].setData(t[e])},i.prototype._loadState=function(){g.load(this.loadSettings.bind(this))},i.prototype._saveState=function(){this.update();for(var t=this._panels,e=-1,n=t.length,i=new Array(n);++e<n;)i[e]=t[e].getData();g.save({data:i})},i.prototype.getNode=function(){return this._node},i.destroy=function(){v.get().destroy(),a.get().destroy(),s.get().destroy(),M=!1},e.exports=i},{"./component/NumberOutput":16,"./component/Options":17,"./component/Picker":20,"./component/StringOutput":29,"./component/ValuePlotter":30,"./core/ComponentEvent":32,"./core/History":34,"./core/HistoryEvent":35,"./core/State":39,"./core/document/CSS":43,"./core/document/DocumentEvent":44,"./core/document/Mouse":45,"./core/document/Node":46,"./core/document/NodeEvent":47,"./core/document/Style":48,"./core/event/Event":49,"./core/event/EventDispatcher":50,"./group/MenuEvent":56,"./group/Panel":57}],4:[function(t,e,n){function i(t,e,n,i){n=n||function(){},i=i||{},i.label=i.label||c,l.apply(this,[t,i.label]);var u=this._inputNode=new s(s.INPUT_BUTTON);u.setStyleClass(h.Button),u.setProperty("value",e);var p=this;u.addEventListener(o.ON_CLICK,function(){n.bind(p)(),p.dispatchEvent(new r(p,a.VALUE_UPDATED))}),this._wrapNode.addChild(u)}var r=t("../core/event/Event"),o=t("../core/document/NodeEvent"),a=t("../core/ComponentEvent"),s=t("../core/document/Node"),l=t("../core/Component"),h=t("../core/document/CSS"),c="";i.prototype=Object.create(l.prototype),i.prototype.constructor=i,i.prototype.getButtonLabel=function(){return this._inputNode.getProperty("value")},i.prototype.setButtonLabel=function(t){this._inputNode.setProperty("value",t)},e.exports=i},{"../core/Component":31,"../core/ComponentEvent":32,"../core/document/CSS":43,"../core/document/Node":46,"../core/document/NodeEvent":47,"../core/event/Event":49}],5:[function(t,e,n){function i(t){r.apply(this);var e=this._btnNode=new h(h.INPUT_BUTTON),n=this._indiNode=new h;this._onActive=function(){},this._onDeactive=function(){},this._isActive=!1,e.setStyleClass(c.ButtonPreset),e.addEventListener(l.MOUSE_DOWN,this._onMouseDown.bind(this)),e.addChild(n),t.addChildAt(e,0),o.get().addEventListener(s.TRIGGER,this,"onOptionTrigger"),this.addEventListener(s.TRIGGERED,o.get(),"onOptionTriggered")}var r=t("../core/event/EventDispatcher"),o=t("../core/ObjectComponentNotifier"),a=t("../core/event/Event"),s=t("../core/OptionEvent"),l=t("../core/document/NodeEvent"),h=t("../core/document/Node"),c=t("../core/document/CSS");i.prototype=Object.create(r.prototype),i.prototype.constructor=i,i.prototype.onOptionTrigger=function(t){return t.data.origin==this?void(this._isActive?this._onDeactive():(this._onActive(),this._btnNode.setStyleClass(c.ButtonPresetActive),this._isActive=!0)):void(this._isActive&&this.deactivate())},i.prototype._onMouseDown=function(){this.dispatchEvent(new a(this,s.TRIGGERED,null))},i.prototype.setOnActive=function(t){this._onActive=t},i.prototype.setOnDeactive=function(t){this._onDeactive=t},i.prototype.deactivate=function(){this._isActive=!1,this._btnNode.setStyleClass(c.ButtonPreset)},e.exports=i},{"../core/ObjectComponentNotifier":37,"../core/OptionEvent":38,"../core/document/CSS":43,"../core/document/Node":46,"../core/document/NodeEvent":47,"../core/event/Event":49,"../core/event/EventDispatcher":50}],6:[function(t,e,n){function i(t,e){r.apply(this,arguments);var n=this._wrapNode;n.setStyleClass(o.CanvasWrap);var i=this._canvas=document.createElement("canvas");n.getElement().appendChild(i);var a=n.getWidth();this._canvasWidth=this._canvasHeight=0,this._setCanvasSize(a,a),this._updateHeight(),this._node.setStyleClass(o.CanvasListItem),this._parent.addEventListener(l.GROUP_SIZE_CHANGE,this,"onGroupSizeChange"),this.addEventListener(l.GROUP_SIZE_UPDATE,this._parent,"onGroupSizeUpdate")}var r=t("../core/Component"),o=t("../core/document/CSS"),a=t("./Metric"),s=t("../core/event/Event"),l=t("../group/GroupEvent");i.prototype=Object.create(r.prototype),i.prototype.constructor=i,i.prototype._updateHeight=function(){var t=this._canvas.height;this._wrapNode.setHeight(t),this._node.setHeight(t+a.PADDING_WRAPPER)},i.prototype.onGroupSizeChange=function(){var t=this._wrapNode.getWidth();this._setCanvasSize(t,t),this._updateHeight(),this._redraw(),this.dispatchEvent(new s(this,l.GROUP_SIZE_UPDATE,null))},i.prototype._setCanvasSize=function(t,e){var n=this._canvasWidth=t,i=this._canvasHeight=e,r=this._canvas;
1r.style.width=n+"px",r.style.height=i+"px",r.width=n,r.height=i},i.prototype.getCanvas=function(){return this._canvas},i.prototype.getContext=function(){return this._canvas.getContext("2d")},e.exports=i},{"../core/Component":31,"../core/document/CSS":43,"../core/event/Event":49,"../group/GroupEvent":55,"./Metric":13}],7:[function(t,e,n){function i(t,e,n,i){r.apply(this,arguments),i=i||{},i.onChange=i.onChange||this._onChange,this._onChange=i.onChange;var a=this._input=new o(o.INPUT_CHECKBOX);a.setProperty("checked",this._obj[this._key]),a.addEventListener(s.CHANGE,this._onInputChange.bind(this)),this._wrapNode.addChild(this._input)}var r=t("../core/ObjectComponent"),o=t("../core/document/Node"),a=t("../core/event/Event"),s=t("../core/document/NodeEvent"),l=t("../core/ComponentEvent");i.prototype=Object.create(r.prototype),i.prototype.constructor=i,i.prototype.applyValue=function(){this.pushHistoryState();var t=this._obj,e=this._key;t[e]=!t[e],this.dispatchEvent(new a(this,l.VALUE_UPDATED,null))},i.prototype._onInputChange=function(){this.applyValue(),this._onChange()},i.prototype.onValueUpdate=function(t){t.data.origin!=this&&this._input.setProperty("checked",this._obj[this._key])},e.exports=i},{"../core/ComponentEvent":32,"../core/ObjectComponent":36,"../core/document/Node":46,"../core/document/NodeEvent":47,"../core/event/Event":49}],8:[function(t,e,n){function i(t,e,n,i){r.apply(this,arguments),i=i||{},i.presets=i.presets||y,i.colorMode=i.colorMode||v,i.onChange=i.onChange||this._onChange,this._presetsKey=i.presets,this._onChange=i.onChange;var a=this._color=new o;n=this._value=this._obj[this._key];var s=this._colorMode=i.colorMode;this._validateColorFormat(n,_,b);var l=this._wrapNode;if(this._presetsKey){a.setStyleClass(p.Color);var d=new o;d.setStyleClass(p.WrapColorWPreset),l.addChild(d),d.addChild(a);for(var m=this._obj[this._presetsKey],g=-1;++g<m.length;)this._validateColorFormat(m[g],x,A);var w=h.get(),E=new c(l),T=function(){w.clear(),E.deactivate()},S=this,M=function(){w.build(m,S._value,a,function(){S.pushHistoryState(),S._value=m[w.getSelectedIndex()],S.applyValue(),S._onChange(S._obj[S._key])},T,u.PADDING_PRESET,!0,s)};E.setOnActive(M),E.setOnDeactive(T)}else a.setStyleClass(p.Color),l.addChild(a);a.addEventListener(f.MOUSE_DOWN,this._onColorTrigger.bind(this)),this._updateColor()}var r=t("./../core/ObjectComponent"),o=t("../core/document/Node"),a=t("../core/color/ColorMode"),s=t("./Picker"),l=t("../core/color/ColorUtil"),h=t("./Options"),c=t("./ButtonPreset"),u=t("./Metric"),p=t("../core/document/CSS"),d=t("../core/event/Event"),f=t("../core/document/NodeEvent"),m=t("../core/ComponentEvent"),g=t("../core/color/ColorFormatError"),v=a.HEX,y=null,_="Color format should be hex. Set colorMode to rgb, rgbfv or hsv.",b="Color format should be rgb, rgbfv or hsv. Set colorMode to hex.",x="Preset color format should be hex.",A="Preset color format should be rgb, rgbfv or hsv.";i.prototype=Object.create(r.prototype),i.prototype.constructor=i,i.prototype._onColorTrigger=function(){var t,e=this._colorMode,n=a.HEX,i=a.RGB,r=a.RGBfv,o=a.HSV,l=this._value,h=function(){switch(this.pushHistoryState(),e){case n:this._value=s.get().getHEX();break;case i:t=s.get().getRGB(),l[0]=t[0],l[1]=t[1],l[2]=t[2];break;case r:t=s.get().getRGBfv(),l[0]=t[0],l[1]=t[1],l[2]=t[2];break;case o:this._value=s.get().getHSV()}this.applyValue()}.bind(this),c=s.get();switch(e){case n:c.setColorHEX(l);break;case i:c.setColorRGB(l[0],l[1],l[2]);break;case r:c.setColorRGBfv(l[0],l[1],l[2]);break;case o:c.setColorHSV(l[0],l[1],l[2])}c.setCallbackPick(h),c.open()},i.prototype.applyValue=function(){this._obj[this._key]=this._value,this._updateColor(),this.dispatchEvent(new d(this,m.VALUE_UPDATED,null)),this._onChange(this._obj[this._key])},i.prototype.onValueUpdate=function(t){t.data.origin!=this&&(this._value=this._obj[this._key],this._updateColor())},i.prototype._updateColor=function(){var t,e=this._value,n=this._color;switch(n.setProperty("innerHTML",e),this._colorMode){case a.HEX:t=e;break;case a.RGB:t=l.RGB2HEX(e[0],e[1],e[2]);break;case a.RGBfv:t=l.RGBfv2HEX(e[0],e[1],e[2]);break;case a.HSV:t=l.HSV2RGB(e[0],e[1],e[2])}n.getStyle().backgroundColor=t},i.prototype._validateColorFormat=function(t,e,n){var i=this._colorMode;if(i==a.HEX&&"[object Array]"===Object.prototype.toString.call(t)||i==a.HEX&&"[object Float32Array]"===Object.prototype.toString.call(t))throw new g(e);if((i==a.RGB||i==a.RGBfv||i==a.HSV)&&"[object Array]"!==Object.prototype.toString.call(t)||i==a.HSV&&"[object Float32Array]"!==Object.prototype.toString.call(t))throw new g(n)},e.exports=i},{"../core/ComponentEvent":32,"../core/color/ColorFormatError":40,"../core/color/ColorMode":41,"../core/color/ColorUtil":42,"../core/document/CSS":43,"../core/document/Node":46,"../core/document/NodeEvent":47,"../core/event/Event":49,"./../core/ObjectComponent":36,"./ButtonPreset"
1:5,"./Metric":13,"./Options":17,"./Picker":20}],9:[function(t,e,n){var i={IMPLICIT:"implicit",NON_IMPLICIT:"nonImplicit"};e.exports=i},{}],10:[function(t,e,n){function i(t,e,n,i){if(i=i||{},i.showMinMaxLabels=void 0===i.showMinMaxLabels?g:i.showMinMaxLabels,r.apply(this,arguments),"function"!=typeof e[n])throw new d(e,n);var l=e[n].length;if(l>2||0==l)throw new f;var h=this._svgRoot,R=this._path,N=this._axes=h.insertBefore(this._createSVGObject("path"),R);N.style.strokeWidth=1;var O=this._axesLabels=h.insertBefore(this._createSVGObject("path"),R);O.style.stroke="rgb(43,48,51)",O.style.strokeWidth=1;var I=this._grid,D=this._svg,B=Number(D.getAttribute("width")),U=new o;U.setStyleClass(a.GraphSliderXWrap);var V=new o;V.setStyleClass(a.GraphSliderYWrap);var G=this._sliderXTrack=new o;G.setStyleClass(a.GraphSliderX);var k=this._sliderYTrack=new o;k.setStyleClass(a.GraphSliderY);var H=this._sliderXHandle=new o;H.setStyleClass(a.GraphSliderXHandle);var F=this._sliderYHandle=new o;F.setStyleClass(a.GraphSliderYHandle),G.addChild(H),k.addChild(F),U.addChild(G),V.addChild(k);var z=this._wrapNode,j=this._plotMode=1==l?s.NON_IMPLICIT:s.IMPLICIT;if(j==s.IMPLICIT){var X=this._canvas=document.createElement("canvas");X.style.width=X.style.height=B+"px",X.width=X.height=B,z.getElement().insertBefore(X,D),this._canvasContext=X.getContext("2d"),this._canvasImageData=this._canvasContext.getImageData(0,0,B,B),N.style.stroke=M,I.style.stroke=C}else N.style.stroke=P,I.style.stroke=L;z.addChild(U),z.addChild(V),H.addEventListener(p.MOUSE_DOWN,this._onSliderXHandleDown.bind(this)),F.addEventListener(p.MOUSE_DOWN,this._onSliderYHandleDown.bind(this));var W=this._units=[null,null];this._scale=null,j==s.NON_IMPLICIT?(W[0]=v,W[1]=y,this._scale=w):j==s.IMPLICIT&&(W[0]=_,W[1]=b,this._scale=E),this._unitsMinMax=[x,A],this._scaleMinMax=[T,S],this._center=[Math.round(.5*B),Math.round(.5*B)],this._svgPos=[0,0],this._func=null,this.setFunction(this._obj[this._key]),this._sliderXHandleUpdate(),this._sliderYHandleUpdate(),D.addEventListener(c.MOUSE_DOWN,this._onDragStart.bind(this),!1),this._wrapNode.getElement().addEventListener("mousewheel",this._onScale.bind(this,!1)),m.get().addEventListener(u.UPDATE_VALUE,this,"onValueUpdate")}var r=t("./Plotter"),o=t("../core/document/Node"),a=t("../core/document/CSS"),s=t("./FunctionPlotType"),l=t("../core/document/Mouse"),h=t("./Metric"),c=t("../core/document/DocumentEvent"),u=t("../core/ComponentEvent"),p=t("../core/document/NodeEvent"),d=t("./FunctionPlotterObjectError"),f=t("./FunctionPlotterFunctionArgsError"),m=t("../core/ObjectComponentNotifier"),g=!0,v=1,y=1,_=.25,b=.25,x=.15,A=4,w=10,E=1,T=.02,S=25,M="rgba(255,255,255,0.75)",C="rgba(25,25,25,0.75)",P="rgb(54,60,64)",L="rgb(25,25,25)";i.prototype=Object.create(r.prototype),i.prototype.constructor=i,i.prototype._updateCenter=function(){var t=this._svg,e=Number(t.getAttribute("width")),n=Number(t.getAttribute("height")),i=l.get().getPosition(),r=this._svgPos,o=this._center;o[0]=Math.max(0,Math.min(i[0]-r[0],e)),o[1]=Math.max(0,Math.min(i[1]-r[1],n)),this._plotGraph()},i.prototype._onDragStart=function(t){var e=this._svgPos;e[0]=0,e[1]=0;for(var n=this._svg.parentNode;n;)e[0]+=n.offsetLeft,e[1]+=n.offsetTop,n=n.offsetParent;var i=c.MOUSE_MOVE,r=c.MOUSE_UP,o=this._updateCenter.bind(this),a=function(){this._updateCenter.bind(this),document.removeEventListener(i,o,!1),document.removeEventListener(r,a,!1)}.bind(this);document.addEventListener(i,o,!1),document.addEventListener(r,a,!1),this._updateCenter()},i.prototype._onScale=function(t){t=window.event||t,this._scale+=Math.max(-1,Math.min(1,t.wheelDelta||-t.detail))*-1;var e=this._scaleMinMax;this._scale=Math.max(e[0],Math.min(this._scale,e[1])),this._plotGraph(),t.preventDefault()},i.prototype.onValueUpdate=function(){this.setFunction(this._obj[this._key])},i.prototype._redraw=function(){if(this._plotMode==s.IMPLICIT){var t=this._wrapNode.getWidth(),e=this._canvas;e.style.width=e.style.height=t+"px",e.width=e.height=t,this._canvasImageData=this._canvasContext.getImageData(0,0,t,t)}this._sliderXHandleUpdate(),this._sliderYHandleUpdate(),this.setFunction(this._obj[this._key])},i.prototype.setFunction=function(t){this._func=t.bind(this._obj),this._plotGraph()}
1,i.prototype._plotGraph=function(){this._drawGrid(),this._drawAxes(),this._drawPlot()},i.prototype._drawAxes=function(){var t=this._svg,e=Number(t.getAttribute("width")),n=Number(t.getAttribute("height")),i=this._center,r=i[0],o=i[1],a="";a+=this._pathCmdLine(0,o,e,o),a+=this._pathCmdLine(r,0,r,n),this._axes.setAttribute("d",a)},i.prototype._drawPlot=function(){var t,e,n,i,r,o,a,l,h,c,u,p=this._center,d=p[0],f=p[1],m=this._units,g=this._scale;if(this._plotMode==s.NON_IMPLICIT){var v=this._svg;t=Number(v.getAttribute("width")),e=Number(v.getAttribute("height")),n=m[0]*g,i=e/(m[1]*g),h=d/t;var y=Math.floor(t),_=new Array(2*y);for(u=-1;++u<y;)r=-h+u/y,o=r*n,a=f-this._func(o)*i,l=2*u,_[l]=u,_[l+1]=a;var b="";for(b+=this._pathCmdMoveTo(_[0],_[1]),u=2;u<_.length;)b+=this._pathCmdLineTo(_[u],_[u+1]),u+=2;this._path.setAttribute("d",b)}else{var x=this._canvas,A=this._canvasContext,w=this._canvasImageData;t=x.width,e=x.height,n=m[0]*g,i=m[1]*g,h=d/t,c=f/e;var E=1/t,T=1/e,S=[0,0,0],M=[30,34,36],C=[255,255,255];u=-1;for(var P;++u<e;)for(P=-1;++P<t;)a=this._func((-h+P*E)*n,(-c+u*T)*i),S[0]=Math.floor((C[0]-M[0])*a+M[0]),S[1]=Math.floor((C[1]-M[1])*a+M[1]),S[2]=Math.floor((C[2]-M[2])*a+M[2]),l=4*(u*t+P),w.data[l]=S[0],w.data[l+1]=S[1],w.data[l+2]=S[2],w.data[l+3]=255;A.clearRect(0,0,t,e),A.putImageData(w,0,0); 2}},i.prototype._drawGrid=function(){var t,e,n=this._svg,i=Number(n.getAttribute("width")),r=Number(n.getAttribute("height")),o=this._scale,a=this._units,s=i/(a[0]*o),l=r/(a[1]*o),c=this._center,u=c[0],p=c[1],d=Math.round(p/l)+1,f=Math.round((r-p)/l)+1,m=Math.round(u/s)+1,g=Math.round((i-u)/s)+1,v="",y="",_=h.STROKE_SIZE,b=h.FUNCTION_PLOTTER_LABEL_TICK_SIZE,x=i-b-_,A=r-b-_,w=x-b,E=A-b,T=x-2*(b+_),S=A-2*(b+_);for(t=-1;++t<d;)e=Math.round(p-l*t),v+=this._pathCmdLine(0,e,i,e),e>b&&(y+=this._pathCmdLine(x,e,w,e));for(t=-1;++t<f;)e=Math.round(p+l*t),v+=this._pathCmdLine(0,e,i,e),e<S&&(y+=this._pathCmdLine(x,e,w,e));for(t=-1;++t<m;)e=Math.round(u-s*t),v+=this._pathCmdLine(e,0,e,r),e>b&&(y+=this._pathCmdLine(e,A,e,E));for(t=-1;++t<g;)e=Math.round(u+s*t),v+=this._pathCmdLine(e,0,e,r),e<T&&(y+=this._pathCmdLine(e,A,e,E));this._grid.setAttribute("d",v),this._axesLabels.setAttribute("d",y)},i.prototype._sliderXStep=function(t){var e=t[0],n=this._sliderXHandle,i=n.getWidth(),r=.5*i,o=this._sliderXTrack,a=o.getWidth(),s=o.getPositionGlobalX(),l=h.STROKE_SIZE,c=a-r-2*l,u=Math.max(r,Math.min(e-s,c)),p=u-r;n.setPositionX(p);var d=this._unitsMinMax[0],f=this._unitsMinMax[1],m=(u-r)/(c-r),g=d+(f-d)*m;this._units[0]=g,this._plotGraph()},i.prototype._sliderYStep=function(t){var e=t[1],n=this._sliderYHandle,i=n.getHeight(),r=.5*i,o=this._sliderYTrack,a=o.getHeight(),s=o.getPositionGlobalY(),l=a-r-2,h=Math.max(r,Math.min(e-s,l)),c=h-r;n.setPositionY(c);var u=this._unitsMinMax[0],p=this._unitsMinMax[1],d=(h-r)/(l-r),f=p+(u-p)*d;this._units[1]=f,this._plotGraph()},i.prototype._onSliderXHandleDown=function(){this._onSliderHandleDown(this._sliderXStep.bind(this))},i.prototype._onSliderYHandleDown=function(){this._onSliderHandleDown(this._sliderYStep.bind(this))},i.prototype._onSliderHandleDown=function(t){var e=c.MOUSE_MOVE,n=c.MOUSE_UP,i=l.get(),r=function(){t(i.getPosition())},o=function(){document.removeEventListener(e,r,!1),document.removeEventListener(n,o,!1)};t(i.getPosition()),document.addEventListener(e,r,!1),document.addEventListener(n,o,!1)},i.prototype._sliderXHandleUpdate=function(){var t=this._unitsMinMax[0],e=this._unitsMinMax[1],n=this._units[0],i=this._sliderXHandle,r=i.getWidth(),o=.5*r,a=this._sliderXTrack.getWidth(),s=h.STROKE_SIZE,l=o,c=a-o-2*s;i.setPositionX(l+(c-l)*((n-t)/(e-t))-o)},i.prototype._sliderYHandleUpdate=function(){var t=this._unitsMinMax[0],e=this._unitsMinMax[1],n=this._units[1],i=this._sliderYHandle,r=i.getHeight(),o=.5*r,a=this._sliderYTrack.getHeight(),s=h.STROKE_SIZE,l=a-o-2*s,c=o;i.setPositionY(l+(c-l)*((n-t)/(e-t))-o)},e.exports=i},{"../core/ComponentEvent":32,"../core/ObjectComponentNotifier":37,"../core/document/CSS":43,"../core/document/DocumentEvent":44,"../core/document/Mouse":45,"../core/document/Node":46,"../core/document/NodeEvent":47,"./FunctionPlotType":9,"./FunctionPlotterFunctionArgsError":11,"./FunctionPlotterObjectError":12,"./Metric":13,"./Plotter":21}],11:[function(t,e,n){function i(){Error.apply(this),Error.captureStackTrace(this,i),this.name="FunctionPlotterFunctionArgsError",this.message="Function should be of form f(x) or f(x,y)."}i.prototype=Object.create(Error.prototype),i.prototype.constructor=i,e.exports=i},{}],12:[function(t,e,n){function i(t,e){Error.apply(this),Error.captureStackTrace(this,i),this.name="ComponentObjectError",this.message="Object "+t.constructor.name+" "+e+"should be of type Function."}i.prototype=Object.create(Error.prototype),i.prototype.constructor=i,e.exports=i},{}],13:[function(t,e,n){var i={COMPONENT_MIN_HEIGHT:25,STROKE_SIZE:1,PADDING_WRAPPER:12,PADDING_OPTIONS:2,PADDING_PRESET:20,SCROLLBAR_TRACK_PADD
2ING:2,FUNCTION_PLOTTER_LABEL_TICK_SIZE:6};e.exports=i},{}],14:[function(t,e,n){function i(t,e,n,i){r.apply(this,arguments),i=i||{},i.onBegin=i.onBegin||null,i.onChange=i.onChange||this._onChange,i.onFinish=i.onFinish||null,i.onError=i.onError||null,i.dp=void 0===i.dp||null==i.dp?m:i.dp,i.step=i.step||g,i.presets=i.presets||v,this._onBegin=i.onBegin,this._onChange=i.onChange,this._presetsKey=i.presets;var u=this._input=new o(i.step,i.dp,i.onBegin,this._onInputChange.bind(this),i.onFinish,i.onError),p=this._wrapNode,y=i.presets;if(y){var _=new a;_.setStyleClass(h.WrapInputWPreset),p.addChild(_),_.addChild(u.getNode());var b=s.get(),x=this._btnPreset=new l(this._wrapNode),A=function(){b.clear(),x.deactivate()},w=this,E=function(){b.build(y,u.getValue(),u.getNode(),function(){u.setValue(y[b.getSelectedIndex()]),w.applyValue(),w._onChange(w._obj[w._key])},A,c.PADDING_PRESET,!1)};x.setOnActive(E),x.setOnDeactive(A)}else p.addChild(u.getNode());u.getNode().addEventListener(d.MOUSE_DOWN,this._onInputDragStart.bind(this)),this.addEventListener(f.INPUT_SELECT_DRAG,this._parent,"onComponentSelectDrag"),u.setValue(this._obj[this._key])}var r=t("../core/ObjectComponent"),o=t("./NumberInput_Internal"),a=t("../core/document/Node"),s=t("./Options"),l=t("./ButtonPreset"),h=t("../core/document/CSS"),c=t("./Metric"),u=t("../core/event/Event"),p=t("../core/document/DocumentEvent"),d=t("../core/document/NodeEvent"),f=t("../core/ComponentEvent"),m=2,g=1,v=null;i.prototype=Object.create(r.prototype),i.prototype.constructor=i,i.prototype._onInputChange=function(){this.applyValue(),this._onChange(this._obj[this._key])},i.prototype.applyValue=function(){this.pushHistoryState(),this._obj[this._key]=this._input.getValue(),this.dispatchEvent(new u(this,f.VALUE_UPDATED,null))},i.prototype.onValueUpdate=function(t){t.data.origin!=this&&this._input.setValue(this._obj[this._key])},i.prototype._onInputDragStart=function(){var t=p.MOUSE_MOVE,e=p.MOUSE_UP,n=f.INPUT_SELECT_DRAG,i=this,r=function(){i.dispatchEvent(new u(this,n,null))},o=function(){i.dispatchEvent(new u(this,n,null)),document.removeEventListener(t,r,!1),document.removeEventListener(t,o,!1)};this.dispatchEvent(new u(this,n,null)),document.addEventListener(t,r,!1),document.addEventListener(e,o,!1)},e.exports=i},{"../core/ComponentEvent":32,"../core/ObjectComponent":36,"../core/document/CSS":43,"../core/document/DocumentEvent":44,"../core/document/Node":46,"../core/document/NodeEvent":47,"../core/event/Event":49,"./ButtonPreset":5,"./Metric":13,"./NumberInput_Internal":15,"./Options":17}],15:[function(t,e,n){function i(t,e){t.setProperty("value",e),t.dispatchEvent(new Event("input"))}var r=t("../core/event/EventDispatcher"),o=(t("../core/document/NodeEvent"),t("../core/document/Node")),a=10,s=/^-?\d*\.?\d*$/,l=null,h=null;NumberInput_Internal=function(t,e,n,i,a,s){r.apply(this,null),this._value=0,this._valueStep=t,this._valueDp=e,this._onBegin=n||function(){},this._onChange=i||function(){},this._onFinish=a||function(){},this._onError=s||function(){},this._keyCode=null,this._caretOffset=0;var c=this._input=new o("text");c.setProperty("value",this._value),c.addEventListener("input",this._onInput.bind(this)),c.addEventListener("keydown",this._onKeydown.bind(this)),l||(c.getElement().setSelectionRange?(l=function(t,e){t.getElement().setSelectionRange(e,e)},h=function(t){t.getElement().setSelectionRange(0,t.getProperty("value").length)}):(l=function(t,e){var n=t.getElement().createTextRange();n.collapse(!0),n.moveEnd("character",e),n.moveStart("character",e),n.select()},h=function(t){var e=t.getElement().createTextRange();e.collapse(!0),e.moveStart("character",0),e.moveEnd("character",t.getProperty("value").length),e.select()}))},NumberInput_Internal.prototype=Object.create(r.prototype),NumberInput_Internal.prototype.constructor=NumberInput_Internal,NumberInput_Internal.prototype._setValue=function(t){var e=((t=+t)||1/t)<0&&0==t?"-":"";t=Number(t).toFixed(this._valueDp),this._input.setProperty("value",e+t),this._value=Number(t)},NumberInput_Internal.prototype._onInput=function(){var t=this._input,e=t.getProperty("value"),n=t.getProperty("selectionStart"),i=this._valueDp,r=e[0];return""==e?e=0:"."===r&&(e="0"+e),s.test(e)&&"-"!=e?(this._onBegin(this._value),this._setValue(e),l(t,n-this._caretOffset),void this._onChange()):(t.setProperty("value",this._value.toFixed(i)),l(t,Math.max(--n,0)),void this._onError(this._keyCode))},NumberInput_Internal.prototype._onKeydown=function(t){var e=this._keyCode=t.keyCode;if(13==e)return this._onFinish(),void t.preventDefault();var n=this._input,r=n.getProperty("value"),o=n.getProperty("selectionStart"),s=n.getProperty("selectionEnd"),c=r.length,u=8==e||45==e,p=t.metaKey,d=t.ctrlKey,f=37==e,m=39==e,g=f||m,v=t.shiftKey,y=38==e||40==e,_=(p||d)&&65==e,b=o!=s,x=0==o&&s==c,A=189==e,w=r.indexOf(".");if(this._caretOffset=0,(p||d)&&90==e)return void t.preventDefault();if(_)return h(n),void t.preventDefault();if(x)return A?(i(n,"-0"),l(n,1)):(i(n,u?0:String.fromCharCode(e)),l(n,f?o:s)),void t.preventDefault();if(u&&o-1==w)return void l(n,o-1);if(!g&&"0"==r[0]&&1==o)return l(n,1),void(this._caretOffset=1);if(y){var E=(v?a:1)*this._valueStep,T=38==e?1:-1;return i(n,Number(r)+E*T),l(n,o),void t.preventDefault()}return!b||v&&g?!v&&!g&&!u&&o>w&&o<c?(r=r.substr(0,o)+String.fromCharCode(e)+r.substr(o+1,c-1),i(n,r),l(n,Math.min(o+1,c-1)),void t.preventDefault()):void(!u&&!g&&!y&&o>=c&&t.preventDefault()):(g?l(n,f?o:s):(r=r.substr(0,o)+String.fromCharCode(e)+r.substr(s,c-s),i(n,r),l(n,s)),void t.preventDefault())},NumberInput_Internal.prototype.getValue=function(){return this._value},NumberInput_Internal.prototype.setValue=function(t){this._setValue(t)},NumberInput_Internal.prototype.getNode=function(){return this._input},e.exports=NumberInput_Internal},{"../core/document/Node":46,"../core/document/NodeEvent":47,"../core/event/EventDispatcher":50}],16:[function(t,e,n){function i(t,e,n,i){i=i||{},i.dp=i.dp||o,r.apply(this,arguments),this._valueDp=i.dp+1}var r=t("./Output"),o=2;i.prototype=Object.create(r.prototype),i.prototype.constructor=i,i.prototype._setValue=function(){if(!this._parent.isDisabled()){var t,e,n=this._obj[this._key],i=this._textArea,r=this._valueDp;if("object"!=typeof n||"number"!=typeof n.length||"function"!=typeof n.splice||n.propertyIsEnumerable("length"))e=n.toString(),t=e.indexOf("."),i.setProperty("value",t>0?e.slice(0,t+r):e);else{e=n.slice();for(var o,a=-1,s=this._wrap;++a<e.length;)o=e[a]=e[a].toString(),t=o.indexOf("."),t>0&&(e[a]=o.slice(0,t+r));s&&(i.setStyleProperty("white-space","nowrap"),e=e.join("\n")),i.setProperty("value",e)}}},e.exports=i},{"./Output":18}],17:[function(t,e,n){function i(t){this._parenNode=t;var e=this._node=new r,n=this._listNode=new r(r.LIST);e.setStyleClass(s.Options),e.addChild(n),this._selectedIndex=null,this._callbackOut=function(){},this._unfocusable=!1,document.addEventListener(o.MOUSE_DOWN,this._onDocumentMouseDown.bind(this)),document.addEventListener(o.MOUSE_UP,this._onDocumentMouseUp.bind(this)),this.clear()}var r=t("../core/document/Node"),o=t("../core/document/DocumentEvent"),a=t("../core/document/NodeEvent"),s=t("../core/document/CSS"),l=t("../core/color/ColorMode"),h=t("../core/color/ColorUtil"),c=t("./Metric");i.prototype={_onDocumentMouseDown:function(){this._unfocusable&&this._callbackOut()},_onDocumentMouseUp:function(){this._unfocusable=!0},build:function(t,e,n,i,o,u,p,d){this._clearList(),this._parenNode.addChild(this.getNode());var f=this._node,m=this._listNode;u=u||0;var g,v,y=this,_=-1;if(p){d=d||l.HEX,m.setStyleClass(s.Color);for(var b,x;++_<t.length;){switch(v=t[_],g=m.addChild(new r(r.LIST_ITEM)),b=g.addChild(new r),d){case l.HEX:x=v;break;case l.RGB:x=h.RGB2HEX(v[0],v[1],v[2]);break;case l.RGBfv:x=h.RGBfv2HEX(v[0],v[1],v[2]);break;case l.HSV:x=h.HSV2RGB(v[0],v[1],v[2])}b.getStyle().backgroundColor=x,b.getStyle().backgroundImage="linear-gradient( rgba(0,0,0,0) 0%, rgba(0,0,0,0.1) 100%)",b.setProperty("innerHTML",v),v==e&&g.setStyleClass(s.OptionsSelected),g.addEventListener(a.MOUSE_DOWN,function(){y._selectedIndex=Array.prototype.indexOf.call(this.parentNode.children,this),i()})}}else for(m.deleteStyleClass();++_<t.length;)v=t[_],g=m.addChild(new r(r.LIST_ITEM)),g.setProperty("innerHTML",v),v==e&&g.setStyleClass(s.OptionsSelected),g.addEventListener(a.MOUSE_DOWN,function(){y._selectedIndex=Array.prototype.indexOf.call(this.parentNode.children,this),i()});var A=n.getPositionGlobal(),w=n.getWidth()-u,E=n.getHeight(),T=m.getWidth(),S=m.getHeight(),M=2*c.STROKE_SIZE,C=c.PADDING_OPTIONS,P=(T<w?w:T)-M,L=A[0],R=A[1]+E-C,N=window.innerWidth,O=window.innerHeight,I=L+P>N?L-P+w-M:L,D=R+S>O?R-.5*S-.5*E:R;m.setWidth(P),f.setPositionGlobal(I,D),this._callbackOut=o,this._unfocusable=!1},_clearList:function(){this._listNode.removeAllChildren(),this._listNode.deleteStyleProperty("width"),this._selectedIndex=null,this._build=!1},clear:function(){this._clearList(),this._callbackOut=function(){},this._parenNode.removeChild(this.getNode())},isBuild:function(){return this._build},getNode:function(){return this._node}
2,getSelectedIndex:function(){return this._selectedIndex}},i.setup=function(t){return i._instance=new i(t)},i.get=function(){return i._instance},i.destroy=function(){i._instance=null},e.exports=i},{"../core/color/ColorMode":41,"../core/color/ColorUtil":42,"../core/document/CSS":43,"../core/document/DocumentEvent":44,"../core/document/Node":46,"../core/document/NodeEvent":47,"./Metric":13}],18:[function(t,e,n){function i(t,e,n,i){r.apply(this,arguments),i=i||{},i.height=i.height||d,i.wrap=void 0===i.wrap?f:i.wrap,i.update=void 0===i.update?m:i.update,this._wrap=i.wrap,this._update=i.update;var h=this._textArea=new o(o.TEXTAREA),c=this._wrapNode,g=this._node;if(h.setProperty("readOnly",!0),c.addChild(h),h.addEventListener(u.MOUSE_DOWN,this._onInputDragStart.bind(this)),this.addEventListener(p.INPUT_SELECT_DRAG,this._parent,"onComponentSelectDrag"),i.height){var v=new o;v.setStyleClass(a.TextAreaWrap),v.addChild(h),c.addChild(v);var y=this._height=i.height,_=4;h.setHeight(Math.max(y+_,s.COMPONENT_MIN_HEIGHT)),c.setHeight(h.getHeight()),g.setHeight(c.getHeight()+_),this._scrollBar=new l(v,h,y-_)}i.wrap&&h.setStyleProperty("white-space","pre-wrap"),this._prevString="",this._prevScrollHeight=-1,this._setValue()}var r=t("../core/ObjectComponent"),o=t("../core/document/Node"),a=t("../core/document/CSS"),s=t("./Metric"),l=t("../core/layout/ScrollBar"),h=t("../core/event/Event"),c=t("../core/document/DocumentEvent"),u=t("../core/document/NodeEvent"),p=t("../core/ComponentEvent"),d=null,f=!1,m=!0;i.prototype=Object.create(r.prototype),i.prototype.constructor=i,i.prototype._setValue=function(){},i.prototype.onValueUpdate=function(){this._setValue()},i.prototype.update=function(){this._update&&this._setValue()},i.prototype._onDrag=function(){this.dispatchEvent(new h(this,p.INPUT_SELECT_DRAG,null))},i.prototype._onDragFinish=function(){this.dispatchEvent(new h(this,p.INPUT_SELECT_DRAG,null)),document.removeEventListener(c.MOUSE_MOVE,this._onDrag,!1),document.removeEventListener(c.MOUSE_MOVE,this._onDragFinish,!1)},i.prototype._onInputDragStart=function(){this.dispatchEvent(new h(this,p.INPUT_SELECT_DRAG,null)),document.addEventListener(c.MOUSE_MOVE,this._onDrag.bind(this),!1),document.addEventListener(c.MOUSE_UP,this._onDragFinish.bind(this),!1)},e.exports=i},{"../core/ComponentEvent":32,"../core/ObjectComponent":36,"../core/document/CSS":43,"../core/document/DocumentEvent":44,"../core/document/Node":46,"../core/document/NodeEvent":47,"../core/event/Event":49,"../core/layout/ScrollBar":52,"./Metric":13}],19:[function(t,e,n){function i(t,e,n,i){r.apply(this,arguments),i=i||{},i.boundsX=i.boundsX||h,i.boundsY=i.boundsY||c,i.labelX=i.labelX||u,i.labelY=i.labelY||p,i.showCross=i.showCross||!0,this._onChange=i.onChange||this._onChange,this._onFinish=i.onFinish||function(){},this._boundsX=i.boundsX,this._boundsY=i.boundsY,this._labelAxisX=""!=i.labelX&&"none"!=i.labelX?i.labelX:null,this._labelAxisY=""!=i.labelY&&"none"!=i.labelY?i.labelY:null;var o=this._path;o.style.strokeWidth=1,o.style.stroke="#363c40",this._grid.style.stroke="rgb(25,25,25)",this._svgPos=[0,0];var a=this._handle=this._svgRoot.appendChild(this._createSVGObject("g")),l=a.appendChild(this._createSVGObject("circle"));l.setAttribute("r",String(11)),l.setAttribute("fill","rgba(0,0,0,0.05)");var d=a.appendChild(this._createSVGObject("circle"));d.setAttribute("r",String(10)),d.setAttribute("fill","rgb(83,93,98)");var f=a.appendChild(this._createSVGObject("circle"));f.setAttribute("r",String(9)),f.setAttribute("fill","rgb(57,69,76)"),f.setAttribute("cy",String(.75));var m=a.appendChild(this._createSVGObject("circle"));m.setAttribute("r",String(10)),m.setAttribute("stroke","rgb(17,19,20)"),m.setAttribute("stroke-width",String(1)),m.setAttribute("fill","none");var g=a.appendChild(this._createSVGObject("circle"));g.setAttribute("r",String(6)),g.setAttribute("fill","rgb(30,34,36)");var v=a.appendChild(this._createSVGObject("circle"));v.setAttribute("r",String(3)),v.setAttribute("fill","rgb(255,255,255)"),a.setAttribute("tranform","translate(0 0)"),this._svg.addEventListener(s.MOUSE_DOWN,this._onDragStart.bind(this),!1),this._drawValue(this._obj[this._key])}var r=t("./Plotter"),o=t("../core/document/Mouse"),a=t("../core/event/Event"),s=t("../core/document/DocumentEvent"),l=t("../core/ComponentEvent"),h=[-1,1],c=[-1,1],u="",p="";i.prototype=Object.create(r.prototype),i.prototype.constructor=i,i.prototype._onDragStart=function(){var t=this._svgPos;t[0]=0,t[1]=0;for(var e=this._svg.parentNode;e;)t[0]+=e.offsetLeft,t[1]+=e.offsetTop,e=e.offsetParent;var n=s.MOUSE_MOVE,i=s.MOUSE_UP,r=function(){this._drawValueInput(),this.applyValue(),this._onChange()}.bind(this),o=function(){this.pushHistoryState(),this._drawValueInput(),this.applyValue(),this._onFinish(),document.removeEventListener(n,r,!1),document.removeEventListener(i,o,!1)}.bind(this);document.addEventListener(n,r,!1),document.addEventListener(i,o,!1),this._drawValueInput(),this.applyValue(),this._onChange()},i.prototype._redraw=function(){this._drawValue(this._obj[this._key])},i.prototype._drawValueInput=function(){this._drawValue(this._getMouseNormalized())},i.prototype._drawValue=function(t){this._obj[this._key]=t,this._drawGri
2d(),this._drawPoint()},i.prototype._drawGrid=function(){var t=Number(this._svg.getAttribute("width")),e=Math.floor(.5*t),n=Math.floor(.5*t),i="";i+=this._pathCmdLine(0,n,t,n),i+=this._pathCmdLine(e,0,e,t),this._grid.setAttribute("d",i)},i.prototype._drawPoint=function(){var t=Number(this._svg.getAttribute("width")),e=this._obj[this._key],n=(.5+.5*e[0])*t,i=(.5+.5*-e[1])*t,r="";r+=this._pathCmdLine(0,i,t,i),r+=this._pathCmdLine(n,0,n,t),this._path.setAttribute("d",r),this._handle.setAttribute("transform","translate("+n+" "+i+")")},i.prototype._getMouseNormalized=function(){var t=this._svgPos,e=o.get().getPosition(),n=Number(this._svg.getAttribute("width"));return[-1+Math.max(0,Math.min(e[0]-t[0],n))/n*2,1-Math.max(0,Math.min(e[1]-t[1],n))/n*2]},i.prototype.applyValue=function(){this.dispatchEvent(new a(this,l.VALUE_UPDATED,null))},i.prototype.onValueUpdate=function(t){t.data.origin!=this&&this._drawValue(this._obj[this._key])},e.exports=i},{"../core/ComponentEvent":32,"../core/document/DocumentEvent":44,"../core/document/Mouse":45,"../core/event/Event":49,"./Plotter":21}],20:[function(t,e,n){function i(t){var e=this._node=(new r).setStyleClass(o.Picker),n=this._headNode=(new r).setStyleClass(o.Head),i=(new r).setStyleClass(o.Wrap),s=(new r).setStyleClass(o.Label),l=(new r).setStyleClass(o.Menu),h=(new r).setStyleClass(o.Wrap),f=new r(r.INPUT_BUTTON);f.setStyleClass(o.ButtonMenuClose);var m=(new r).setStyleClass(o.PickerFieldWrap),g=(new r).setStyleClass(o.SliderWrap),v=(new r).setStyleClass(o.PickerInputWrap),y=this._canvasField=document.createElement("canvas"),_=this._canvasSlider=document.createElement("Canvas");m.getElement().appendChild(y),g.getElement().appendChild(_),this._setSizeCanvasField(154,154),this._setSizeCanvasSlider(14,154);var b=this._contextCanvasField=y.getContext("2d"),x=this._contextCanvasSlider=_.getContext("2d"),A=this._handleField=new r;A.setStyleClass(o.PickerHandleField);var w=this._handleSlider=new r;w.setStyleClass(o.PickerHandleSlider);var E=1,T=0,S=this._onInputHueChange.bind(this),M=this._onInputSatChange.bind(this),C=this._onInputValChange.bind(this),P=this._onInputRChange.bind(this),L=this._onInputGChange.bind(this),R=this._onInputBChange.bind(this),N=this._inputHue=new a(E,T,null,S),O=this._inputSat=new a(E,T,null,M),I=this._inputVal=new a(E,T,null,C),D=this._inputR=new a(E,T,null,P),B=this._inputG=new a(E,T,null,L),U=this._inputB=new a(E,T,null,R),V=(new r).setStyleClass(o.PickerControlsWrap),G=new r(r.INPUT_BUTTON).setStyleClass(o.Button).setProperty("value","pick"),k=new r(r.INPUT_BUTTON).setStyleClass(o.Button).setProperty("value","cancel"),H=(new r).setStyleClass(o.PickerColorContrast),F=this._colorCurrNode=new r,z=this._colorPrevNode=new r;H.addChild(F),H.addChild(z),V.addChild(k),V.addChild(G),V.addChild(H),this._setContrasPrevColor(0,0,0);var j=(new r).setStyleClass(o.PickerInputField),X=(new r).setStyleClass(o.PickerInputField),W=(new r).setStyleClass(o.PickerInputField),Y=new r(r.SPAN).setStyleClass(o.Label).setProperty("innerHTML","H"),K=new r(r.SPAN).setStyleClass(o.Label).setProperty("innerHTML","S"),Z=new r(r.SPAN).setStyleClass(o.Label).setProperty("innerHTML","V");j.addChildren(Y,N.getNode()),X.addChildren(K,O.getNode()),W.addChildren(Z,I.getNode());var q=(new r).setStyleClass(o.PickerInputField),Q=(new r).setStyleClass(o.PickerInputField),J=(new r).setStyleClass(o.PickerInputField),$=new r(r.SPAN).setStyleClass(o.Label).setProperty("innerHTML","R"),tt=new r(r.SPAN).setStyleClass(o.Label).setProperty("innerHTML","G"),et=new r(r.SPAN).setStyleClass(o.Label).setProperty("innerHTML","B");q.addChildren($,D.getNode()),Q.addChildren(tt,B.getNode()),J.addChildren(et,U.getNode()),v.addChildren(q,j,Q,X,J,W,H);var nt=new r;nt.setStyleClass(o.PickerInputWrap);var it=this._inputHEX=new r(r.INPUT_TEXT),rt=(new r).setStyleClass(o.PickerInputField),ot=new r(r.SPAN).setStyleClass(o.Label);ot.setProperty("innerHTML","#"),rt.addChildren(ot,it),nt.addChild(rt),it.addEventListener(c.CHANGE,this._onInputHEXFinish.bind(this)),s.setProperty("innerHTML","Color Picker"),l.addChild(f),n.addChild(l),i.addChild(s),n.addChild(i),e.addChild(n),e.addChild(h),h.addChild(m),h.addChild(g),h.addChild(v),h.addChild(nt),h.addChild(V),m.addChild(A),g.addChild(w);var at=c.MOUSE_DOWN,st=this._onCanvasFieldMouseDown.bind(this);m.addEventListener(at,st),A.addEventListener(at,st),st=this._onCanvasSliderMouseDown.bind(this),g.addEventListener(at,st),w.addEventListener(at,st),f.addEventListener(at,this._onClose.bind(this)),G.addEventListener(at,this._onPick.bind(this)),k.addEventListener(at,this._onClose.bind(this)),n.addEventListener(c.MOUSE_DOWN,this._onHeadDragStart.bind(this)),this._parentNode=t,this._mouseOffset=[0,0],this._position=[null,null],this._canvasSliderPos=[0,0],this._canvasFieldPos=[0,0],this._handleFieldSize=12,this._handleSliderHeight=7,this._imageDataSlider=x.createImageData(_.width,_.height),this._imageDataField=b.createImageData(y.width,y.height),this._valueHueMinMax=[0,360],this._valueSatMinMax=this._valueValMinMax=[0,100],this._valueRGBMinMax=[0,255],this._valueHue=u,this._valueSat=p,this._valueVal=d,this._valueR=0,this._valueG=0,this._valueB=0,this._valueHEX="#000000",this._valueHEXValid=this._valueHEX,this._callbackPick=function(){},this._drawCanvasField(),this._drawCanvasSlider(),this._setColorHSV(this._valueHue,this._valueSat,this._valueVal),this._updateColorRGBFromHSV(),this._updateColorHEXFromRGB(),this._updateHandles()}
2var r=t("../core/document/Node"),o=t("../core/document/CSS"),a=t("./NumberInput_Internal"),s=t("../core/document/Mouse"),l=t("../core/color/ColorUtil"),h=t("../core/document/DocumentEvent"),c=t("../core/document/NodeEvent"),u=200,p=50,d=50;i.prototype={_drawHandleField:function(){var t=this._canvasField,e=this._canvasFieldPos,n=s.get().getPosition(),i=Math.max(0,Math.min(n[0]-e[0],t.width)),r=Math.max(0,Math.min(n[1]-e[1],t.height)),o=i/t.width,a=r/t.height,l=Math.round(o*this._valueSatMinMax[1]),h=Math.round((1-a)*this._valueValMinMax[1]);this._setColorHSV(this._valueHue,l,h),this._updateColorRGBFromHSV(),this._updateColorHEXFromRGB(),this._updateHandleField()},_updateHandleField:function(){var t=this._canvasField.width,e=this._canvasField.height,n=.25*this._handleFieldSize,i=this._valueSat/this._valueSatMinMax[1],r=this._valueVal/this._valueValMinMax[1];this._handleField.setPositionGlobal(i*t-n,(1-r)*e-n)},_drawHandleSlider:function(){var t=this._canvasSlider,e=this._canvasSliderPos[1],n=s.get().getY(),i=Math.max(0,Math.min(n-e,t.height)),r=i/t.height,o=Math.floor((1-r)*this._valueHueMinMax[1]);this._setColorHSV(o,this._valueSat,this._valueVal),this._updateColorRGBFromHSV(),this._updateColorHEXFromRGB(),this._updateHandleSlider()},_updateHandleSlider:function(){var t=this._canvasSlider.height,e=.25*this._handleSliderHeight,n=this._valueHue/this._valueHueMinMax[1];this._handleSlider.setPositionGlobalY((t-e)*(1-n))},_updateHandles:function(){this._updateHandleField(),this._updateHandleSlider()},_setHue:function(t){var e=this._valueHueMinMax;this._valueHue=t==e[1]?e[0]:t,this._updateColorHSV(),this._drawCanvasField()},_setSat:function(t){this._valueSat=Math.round(t),this._updateColorHSV()},_setVal:function(t){this._valueVal=Math.round(t),this._updateColorHSV()},_setR:function(t){this._valueR=Math.round(t),this._updateColorRGB()},_setG:function(t){this._valueG=Math.round(t),this._updateColorRGB()},_setB:function(t){this._valueB=Math.round(t),this._updateColorRGB()},_onInputHueChange:function(){var t=this._inputHue,e=this._getValueContrained(t,this._valueHueMinMax),n=this._valueHueMinMax;e==n[1]&&(e=n[0],t.setValue(e)),this._setHue(e),this._updateColorRGBFromHSV(),this._updateColorHEXFromRGB(),this._updateHandleSlider(),this._drawCanvasField()},_onInputSatChange:function(){this._setSat(this._getValueContrained(this._inputSat,this._valueSatMinMax)),this._onInputSVChange()},_onInputValChange:function(){this._setVal(this._getValueContrained(this._inputVal,this._valueValMinMax)),this._onInputSVChange()},_onInputRChange:function(){this._setR(this._getValueContrained(this._inputR,this._valueRGBMinMax)),this._onInputRGBChange()},_onInputGChange:function(){this._setG(this._getValueContrained(this._inputG,this._valueRGBMinMax)),this._onInputRGBChange()},_onInputBChange:function(){this._setB(this._getValueContrained(this._inputB,this._valueRGBMinMax)),this._onInputRGBChange()},_onInputHEXFinish:function(){var t=this._inputHEX,e=t.getProperty("value");return l.isValidHEX(e)?(this._valueHEX=this._valueHEXValid=e,void this._updateColorFromHEX()):void t.setProperty("value",this._valueHEXValid)},_onInputSVChange:function(){this._updateColorRGBFromHSV(),this._updateColorHEXFromRGB(),this._updateHandleField()},_onInputRGBChange:function(){this._updateColorHSVFromRGB(),this._updateColorHEXFromRGB(),this._updateHandles()},_getValueContrained:function(t,e){var n=Math.round(t.getValue()),i=e[0],r=e[1];return n<=i&&(n=i,t.setValue(n)),n>=r&&(n=r,t.setValue(n)),n},_updateInputHue:function(){this._inputHue.setValue(this._valueHue)},_updateInputSat:function(){this._inputSat.setValue(this._valueSat)},_updateInputVal:function(){this._inputVal.setValue(this._valueVal)},_updateInputR:function(){this._inputR.setValue(this._valueR)},_updateInputG:function(){this._inputG.setValue(this._valueG)},_updateInputB:function(){this._inputB.setValue(this._valueB)},_updateInputHEX:function(){this._inputHEX.setProperty("value",this._valueHEX)},_setColorHSV:function(t,e,n){this._valueHue=t,this._valueSat=e,this._valueVal=n,this._updateInputHue(),this._updateInputSat(),this._updateInputVal(),this._updateContrastCurrColor()},_setColorRGB:function(t,e,n){this._valueR=t,this._valueG=e,this._valueB=n,this._updateInputR(),this._updateInputG(),this._updateInputB(),this._updateContrastCurrColor()},_setColorHEX:function(t){this._valueHEX=t,this._updateInputHEX()},_updateColorHSV:function(){this._setColorHSV(this._valueHue,this._valueSat,this._valueVal),this._updateContrastCurrColor()},_updateColorRGB:function(){this._setColorRGB(this._valueR,this._valueG,this._valueB),this._updateContrastCurrColor()},_updateColorHSVFromRGB:function(){var t=l.RGB2HSV(this._valueR,this._valueG,this._valueB);this._setColorHSV(t[0],t[1],t[2])},_updateColorRGBFromHSV:function(){var t=l.HSV2RGB(this._valueHue,this._valueSat,this._valueVal);this._setColorRGB(t[0],t[1],t[2])},_updateColorHEXFromRGB:function(){var t=l.RGB2HEX(this._valueR,this._valueG,this._valueB);this._setColorHEX(t)},_updateColorFromHEX:function(){var t=l.HEX2RGB(this._valueHEX);this._setColorRGB(t[0],t[1],t[2]),this._updateColorHSVFromRGB(),this._updateHandles()},_updateContrastCurrColor:function(){this._setContrastCurrColor(this._valueR,this._valueG,this._valueB)},_updateContrastPrevColor:function(){this._setContrasPrevColor(this._valueR,this._valueG,this._valueB)},_setContrastCurrColor:function(t,e,n){this._colorCurrNode.setStyleProperty("background","rgb("+t+","+e+","+n+")")},_setContrasPrevColor:function(t,e,n){this._colorPrevNode.setStyleProperty("background","rgb("+t+","+e+","+n+")")},_onHeadDragStart:function(){var t=this._node,e=this._parentNode,n=t.getPositionGlobal(),i=s.get().getPosition(),r=this._mouseOffset;r[0]=i[0]-n[0],r[1]=i[1]-n[1];var o=h.MOUSE_MOVE,a=h.MOUSE_UP,l=this,c=function(){l._updatePosition(),l._updateCanvasNodePositions()},u=function(){l._updateCanvasNodePositions(),document.removeEventListener(o,c,!1),document.removeEventListener(a,u,!1)};e.removeChild(t),e.addChild(t),document.addEventListener(o,c,!1),document.addEventListener(a,u,!1),this._updateCanvasNodePositions()},_updatePosition:function(){var t=s.get().getPosition(),e=this._mouseOffset,n=t[0]-e[0],i=t[1]-e[1],r=this._node,o=this._headNode,a=this._position,l=window.innerWidth-r.getWidth(),h=window.innerHeight-o.getHeight();a[0]=Math.max(0,Math.min(n,l)),a[1]=Math.max(0,Math.min(i,h)),r.setPositionGlobal(a[0],a[1])},_drawCanvasField:function(){for(var t,e=this._canvasField,n=this._contextCanvasField,i=e.width,r=e.height,o=1/i,a=1/r,s=this._imageDataField,h=[],c=0,u=this._valueHue,p=-1;++p<r;)for(t=-1;++t<i;)h=l.HSV2RGB(u,t*o*100,100*(1-p*a)),c=4*(p*i+t),s.data[c]=h[0],s.data[c+1]=h[1],s.data[c+2]=h[2],s.data[c+3]=255;n.putImageData(s,0,0)},_drawCanvasSlider:function(){for(var t,e=this._canvasSlider,n=this._contextCanvasSlider,i=e.width,r=e.height,o=1/r,a=this._imageDataSlider,s=[],h=0,c=-1;++c<r;)for(t=-1;++t<i;)s=l.HSV2RGB(360*(1-c*o),100,100),h=4*(c*i+t),a.data[h]=s[0],a.data[h+1]=s[1],a.data[h+2]=s[2],a.data[h+3]=255;n.putImageData(a,0,0)},_onCanvasFieldMouseDown:function(){var t=h.MOUSE_MOVE,e=h.MOUSE_UP,n=this,i=function(){n._drawHandleField()},r=function(){document.removeEventListener(t,i,!1),document.removeEventListener(e,r,!1)};document.addEventListener(t,i,!1),document.addEventListener(e,r,!1),n._drawHandleField()},_onCanvasSliderMouseDown:function(){var t=h.MOUSE_MOVE,e=h.MOUSE_UP,n=this,i=function(){n._drawHandleSlider(),n._drawCanvasField()},r=function(){document.removeEventListener(t,i,!1),document.removeEventListener(e,r,!1),n._drawCanvasField()};document.addEventListener(t,i,!1),document.addEventListener(e,r,!1),n._drawHandleSlider(),n._drawCanvasField()},_setSizeCanvasField:function(t,e){var n=this._canvasField;n.style.width=t+"px",n.style.height=e+"px",n.width=t,n.height=e},_setSizeCanvasSlider:function(t,e){var n=this._canvasSlider;n.style.width=t+"px",n.style.height=e+"px",n.width=t,n.height=e},open:function(){var t=this._node;this._parentNode.addChild(t);var e=this._position;null===e[0]||null===e[1]?(e[0]=.5*window.innerWidth-.5*t.getWidth(),e[1]=.5*window.innerHeight-.5*t.getHeight()):(e[0]=Math.max(0,Math.min(e[0],window.innerWidth-t.getWidth())),e[1]=Math.max(0,Math.min(e[1],window.innerHeight-t.getHeight()))),t.setPositionGlobal(e[0],e[1]),this._updateCanvasNodePositions()},close:function(){this._parentNode.removeChild(this._node)},_onClose:function(t){t.cancelBubble=!0,this.close()},_onPick:function(){this._callbackPick(),this.close()},_updateCanvasNodePositions:function(){var t=this._canvasSliderPos,e=this._canvasFieldPos;t[0]=t[1]=0,e[0]=e[1]=0;for(var n=this._canvasSlider;n;)t[0]+=n.offsetLeft, 3t[1]+=n.offsetTop,n=n.offsetParent;for(n=this._canvasField;n;)e[0]+=n.offsetLeft,e[1]+=n.offsetTop,n=n.offsetParent},setCallbackPick:function(t){this._callbackPick=t},setColorHEX:function(t){this._setColorHEX(t),this._updateColorFromHEX(),this._setColor()},setColorRGB:function(t,e,n){this._setColorRGB(t,e,n),this._updateColorHEXFromRGB(),this._updateColorHSVFromRGB(),this._setColor()},setColorRGBfv:function(t,e,n){this.setColorRGB(Math.floor(255*t),Math.floor(255*e),Math.floor(255*n))},setColorHSV:function(t,e,n){this._setColorHSV(t,e,n),this._updateColorRGBFromHSV(),this._updateColorHEXFromRGB(),this._setColor()},_setColor:function(){this._drawCanvasField(),this._drawCanvasSlider(),this._updateHandles(),this._setContrasPrevColor(this._valueR,this._valueG,this._valueB)},getR:function(){return this._valueR},getG:function(){return this._valueG},getB:function(){return this._valueB},getRGB:function(){return[this._valueR,this._valueG,this._valueB]},getHue:function(){return this._valueHue},getSat:function(){return this._valueSat},getVal:function(){return this._valueVal},getHSV:function(){return[this._valueHue,this._valueSat,this._valueVal]},getHEX:function(){return this._valueHEX},getRGBfv:function(){return[this._valueR/255,this._valueG/255,this._valueB/255]},getNode:function(){return this._node}},i.setup=function(t){return i._instance=new i(t)},i.get=function(){return i._instance},i.destroy=function(){i._instance=null},e.exports=i},{"../core/color/ColorUtil":42,"../core/document/CSS":43,"../core/document/DocumentEvent":44,"../core/document/Mouse":45,"../core/document/Node":46,"../core/document/NodeEvent":47,"./NumberInput_Internal":15}],21:[function(t,e,n){function i(t,e,n,i){i=i||{},i.lineWidth=i.lineWidth||2,i.lineColor=i.lineColor||[255,255,255],r.apply(this,arguments);var o=this._lineWidth=i.lineWidth,a=i.lineColor,s=this._grid=this._svgRoot.appendChild(this._createSVGObject("path"));s.style.stroke="rgb(26,29,31)";var l=this._path=this._svgRoot.appendChild(this._createSVGObject("path"));l.style.stroke="rgb("+a[0]+","+a[1]+","+a[2]+")",l.style.strokeWidth=o,l.style.fill="none"}var r=t("./SVGComponent");i.prototype=Object.create(r.prototype),i.prototype.constructor=i,e.exports=i},{"./SVGComponent":24}],22:[function(t,e,n){function i(t,e,n,i){r.apply(this,arguments),i=i||{},i.onChange=i.onChange||this._onChange,i.step=i.step||c,i.dp=null!=i.dp?i.dp:u,this._onChange=i.onChange;var l=this._step=i.step,h=this._dp=i.dp,p=new o,d=this._inputMin=new a(l,h,this.pushHistoryState.bind(this),this._onInputMinChange.bind(this)),f=new o,m=this._inputMax=new a(l,h,this.pushHistoryState.bind(this),this._onInputMaxChange.bind(this)),g=(new o).setStyleClass(s.Wrap),v=(new o).setStyleClass(s.Wrap),y=(new o).setStyleClass(s.Wrap),_=(new o).setStyleClass(s.Wrap);p.setStyleClass(s.Label).setProperty("innerHTML","MIN"),f.setStyleClass(s.Label).setProperty("innerHTML","MAX");var b=this._obj[this._key];d.setValue(b[0]),m.setValue(b[1]);var x=this._wrapNode;g.addChild(p),v.addChild(d.getNode()),y.addChild(f),_.addChild(m.getNode()),x.addChild(g),x.addChild(v),x.addChild(y),x.addChild(_)}var r=t("../core/ObjectComponent"),o=t("../core/document/Node"),a=t("./NumberInput_Internal"),s=t("../core/document/CSS"),l=t("../core/event/Event"),h=t("../core/ComponentEvent"),c=1,u=2;i.prototype=Object.create(r.prototype),i.prototype.constructor=i,i.prototype._onInputChange=function(){this.dispatchEvent(new l(this,h.VALUE_UPDATED,null)),this._onChange()}
3,i.prototype._updateValueMin=function(){var t=this._obj[this._key],e=this._inputMin,n=e.getValue();return n>=this._inputMax.getValue()?void e.setValue(t[0]):void(t[0]=n)},i.prototype._updateValueMax=function(){var t=this._obj[this._key],e=this._inputMax,n=e.getValue();return n<=this._inputMin.getValue()?void e.setValue(t[1]):void(t[1]=n)},i.prototype.onValueUpdate=function(t){if(t.data.origin!=this){null==t.data.origin;var e=this._obj,n=this._key;this._inputMin.setValue(e[n][0]),this._inputMax.setValue(e[n][1])}},i.prototype.setValue=function(t){var e=this._obj,n=this._key;e[n][0]=t[0],e[n][1]=t[1],this.dispatchEvent(new l(this,h.VALUE_UPDATED,null))},i.prototype._onInputMinChange=function(){this._updateValueMin(),this._onInputChange()},i.prototype._onInputMaxChange=function(){this._updateValueMax(),this._onInputChange()},e.exports=i},{"../core/ComponentEvent":32,"../core/ObjectComponent":36,"../core/document/CSS":43,"../core/document/Node":46,"../core/event/Event":49,"./NumberInput_Internal":15}],23:[function(t,e,n){function i(t,e){r.apply(this,arguments);var n=this._wrapNode;n.setStyleClass(o.CanvasWrap);var i=n.getWidth(),a=this._svg=this._createSVGObject("svg");a.setAttribute("version","1.2"),a.setAttribute("baseProfile","tiny"),a.setAttribute("preserveAspectRatio","true"),n.getElement().appendChild(a),this._svgSetSize(i,i),this._updateHeight(),this._node.setStyleClass(o.CanvasListItem),this._parent.addEventListener(s.GROUP_SIZE_CHANGE,this,"onGroupSizeChange"),this.addEventListener(s.GROUP_SIZE_UPDATE,this._parent,"onGroupSizeUpdate")}var r=t("./../core/Component"),o=t("../core/document/CSS"),a=t("./Metric"),s=t("../group/GroupEvent");i.prototype=Object.create(r.prototype),i.prototype.constructor=i,i.prototype._updateHeight=function(){var t=Number(this._svg.getAttribute("height"));this._wrapNode.setHeight(t),this._node.setHeight(t+a.PADDING_WRAPPER)},i.prototype.onGroupSizeChange=function(){var t=this._wrapNode.getWidth();this._svgSetSize(t,t),this._updateHeight()},i.prototype._svgSetSize=function(t,e){var n=this._svg;n.setAttribute("width",t),n.setAttribute("height",e),n.setAttribute("viewbox","0 0 "+t+" "+e)},i.prototype.getSVG=function(){return this._svg},e.exports=i},{"../core/document/CSS":43,"../group/GroupEvent":55,"./../core/Component":31,"./Metric":13}],24:[function(t,e,n){function i(t,e,n,i){r.apply(this,arguments);var s=this._wrapNode;s.setStyleClass(o.SVGWrap);var l=s.getWidth(),h=this._svg=this._createSVGObject("svg");h.setAttribute("version","1.2"),h.setAttribute("baseProfile","tiny"),s.getElement().appendChild(h);var c=this._svgRoot=h.appendChild(this._createSVGObject("g"));c.setAttribute("transform","translate(0.5 0.5)"),this._svgSetSize(l,l),this._updateHeight(),this._node.setStyleClass(o.SVGListItem),this._parent.addEventListener(a.GROUP_SIZE_CHANGE,this,"onGroupSizeChange"),this.addEventListener(a.GROUP_SIZE_UPDATE,this._parent,"onGroupSizeUpdate")}var r=t("../core/ObjectComponent"),o=t("../core/document/CSS"),a=t("../group/GroupEvent"),s=t("./Metric");i.prototype=Object.create(r.prototype),i.prototype.constructor=i,i.prototype._updateHeight=function(){var t=Number(this._svg.getAttribute("height"));this._wrapNode.setHeight(t),this._node.setHeight(t+s.PADDING_WRAPPER)},i.prototype._redraw=function(){},i.prototype.onGroupSizeChange=function(){var t=this._wrapNode.getWidth();this._svgSetSize(t,t),this._updateHeight(),this._redraw()},i.prototype._createSVGObject=function(t){return document.createElementNS("http://www.w3.org/2000/svg",t)},i.prototype._svgSetSize=function(t,e){var n=this._svg;n.setAttribute("width",t),n.setAttribute("height",e),n.setAttribute("viewbox","0 0 "+t+" "+e)},i.prototype._pathCmdMoveTo=function(t,e){return"M "+t+" "+e+" "},i.prototype._pathCmdLineTo=function(t,e){return"L "+t+" "+e+" "},i.prototype._pathCmdClose=function(){return"Z"},i.prototype._pathCmdLine=function(t,e,n,i){return"M "+t+" "+e+" L "+n+" "+i},i.prototype._pathCmdBezierCubic=function(t,e,n,i,r,o,a,s,l){return"M "+e+" "+n+" C "+i+" "+r+", "+o+" "+a+", "+s+" "+l},i.prototype._pathCmdBezierQuadratic=function(t,e,n,i,r,o,a){return"M "+e+" "+n+" Q "+i+" "+r+", "+o+" "+a},e.exports=i},{"../core/ObjectComponent":36,"../core/document/CSS":43,"../group/GroupEvent":55,"./Metric":13}],25:[function(t,e,n){function i(t,e,n,i){r.apply(this,arguments),i=i||{},i.onChange=i.onChange||this._onChange,this._onChange=i.onChange;var s=this._obj,l=this._key,h=this._targetKey=i.target,u=this._values=s[l];this._selectedIndex=-1,this._selected=null;var m=this._select=new o(o.INPUT_BUTTON);if(m.setStyleClass(a.Select),m.addEventListener(c.MOUSE_DOWN,this._onOptionTrigger.bind(this)),this._hasTarget()){for(var g=s[h]||"",v=-1;++v<u.length;)g==u[v]&&(this._selected=u[v]);m.setProperty("value",g.toString().length>
30?g:u[0])}else m.setProperty("value",i.selected?u[i.selected]:f);this._wrapNode.addChild(m),d.get().addEventListener(p.TRIGGER,this,"onOptionTrigger"),this.addEventListener(p.TRIGGERED,d.get(),"onOptionTriggered")}var r=t("../core/ObjectComponent"),o=t("../core/document/Node"),a=t("../core/document/CSS"),s=t("./Options"),l=t("../core/History"),h=t("../core/event/Event"),c=t("../core/document/NodeEvent"),u=t("../core/ComponentEvent"),p=t("../core/OptionEvent"),d=t("../core/ObjectComponentNotifier"),f="Choose ...";i.prototype=Object.create(r.prototype),i.prototype.constructor=i,i.prototype.onOptionTrigger=function(t){return t.data.origin==this?(this._active=!this._active,this._updateAppearance(),void(this._active?this._buildOptions():s.get().clear())):(this._active=!1,void this._updateAppearance())},i.prototype._buildOptions=function(){var t=s.get(),e=this;t.build(this._values,this._selected,this._select,function(){e.applyValue(),e._active=!1,e._updateAppearance(),e._selectedIndex=t.getSelectedIndex(),e._onChange(e._selectedIndex),t.clear()},function(){e._active=!1,e._updateAppearance(),t.clear()},!1)},i.prototype._applySelected=function(t){this._select.setProperty("value",t),this.dispatchEvent(new h(this,u.VALUE_UPDATED),null)},i.prototype.applyValue=function(){var t=s.get().getSelectedIndex(),e=this._selected=this._values[t];this._hasTarget()&&(this.pushHistoryState(),this._obj[this._targetKey]=e),this._applySelected(e)},i.prototype.pushHistoryState=function(){var t=this._obj,e=this._targetKey;l.get().pushState(t,e,t[e])},i.prototype._onOptionTrigger=function(){this.dispatchEvent(new h(this,p.TRIGGERED,null))},i.prototype._updateAppearance=function(){this._select.setStyleClass(this._active?a.SelectActive:a.Select)},i.prototype.onValueUpdate=function(t){this._hasTarget()&&(this._selected=this._obj[this._targetKey],this._select.setProperty("value",this._selected.toString()))},i.prototype._hasTarget=function(){return null!=this._targetKey},i.prototype.setValue=function(t){return this._selectedIndex=t,t==-1?(this._selected=null,void this._select.setProperty("value",f)):(this._selected=this._values[this._selectedIndex],void this._applySelected(this._selected))},i.prototype.getData=function(){var t={};return t.selectedIndex=this._selectedIndex,t},e.exports=i},{"../core/ComponentEvent":32,"../core/History":34,"../core/ObjectComponent":36,"../core/ObjectComponentNotifier":37,"../core/OptionEvent":38,"../core/document/CSS":43,"../core/document/Node":46,"../core/document/NodeEvent":47,"../core/event/Event":49,"./Options":17}],26:[function(t,e,n){function i(t,e,n,i,s){s=s||{},s.label=s.label||n,r.apply(this,[t,e,i,s]),this._values=this._obj[this._key],this._targetKey=n,s.step=s.step||m,s.dp=void 0===s.dp||null==s.dp?g:s.dp,s.onChange=s.onChange||this._onChange,s.onFinish=s.onFinish||function(){},this._dp=s.dp,this._onChange=s.onChange,this._onFinish=s.onFinish;var l=this._values,c=this._obj,f=this._targetKey,v=this._wrapNode;v.setStyleClass(o.WrapSlider);var y=this._slider=new a(v,this._onSliderBegin.bind(this),this._onSliderMove.bind(this),this._onSliderEnd.bind(this));y.setBoundMax(l[1]),y.setBoundMin(l[0]),y.setValue(c[f]);var _=this._input=new h(s.step,s.dp,null,this._onInputChange.bind(this));_.setValue(c[f]),v.addChild(_.getNode()),this._parent.addEventListener(p.PANEL_MOVE_END,this,"onPanelMoveEnd"),this._parent.addEventListener(d.GROUP_SIZE_CHANGE,this,"onGroupWidthChange"),this._parent.addEventListener(u.WINDOW_RESIZE,this,"onWindowResize")}var r=t("../core/ObjectComponent"),o=t("../core/document/CSS"),a=t("./Slider_Internal"),s=t("../core/History"),l=t("./Range"),h=t("./NumberInput_Internal"),c=t("../core/event/Event"),u=t("../core/document/DocumentEvent"),p=t("../group/PanelEvent"),d=t("../group/GroupEvent"),f=t("../core/ComponentEvent"),m=1,g=2;i.prototype=Object.create(r.prototype),i.prototype.constructor=i,i.prototype.pushHistoryState=function(){var t=this._obj,e=this._targetKey;s.get().pushState(t,e,t[e])},i.prototype._onSliderBegin=function(){this.pushHistoryState()},i.prototype._onSliderMove=function(){this.applyValue(),this._updateV
3alueField(),this.dispatchEvent(new c(this,f.VALUE_UPDATED,null)),this._onChange()},i.prototype._onSliderEnd=function(){this.applyValue(),this._updateValueField(),this.dispatchEvent(new c(this,f.VALUE_UPDATED,null)),this._onFinish()},i.prototype._onInputChange=function(){var t=this._input,e=this._values[0],n=this._values[1];t.getValue()>=n&&t.setValue(n),t.getValue()<=e&&t.setValue(e);var i=t.getValue();this._slider.setValue(i),this._obj[this._targetKey]=i,this.dispatchEvent(new c(this,f.VALUE_UPDATED,null)),this._onFinish()},i.prototype.applyValue=function(){var t=this._slider.getValue();this._obj[this._targetKey]=parseFloat(t.toFixed(this._dp)),this._input.setValue(t)},i.prototype.onValueUpdate=function(t){var e=t.data.origin;if(e!=this){var n=this._slider;if(e instanceof i)n.setValue(this._obj[this._targetKey]);else{var r=this._values;n.setBoundMin(r[0]),n.setBoundMax(r[1]),e instanceof l||n.setValue(this._obj[this._targetKey])}this.applyValue()}},i.prototype._updateValueField=function(){this._input.setValue(this._slider.getValue())},i.prototype.onPanelMoveEnd=i.prototype.onGroupWidthChange=i.prototype.onWindowResize=function(){this._slider.resetOffset()},i.prototype.setValue=function(t){t!=-1&&(this._obj[this._targetKey]=t,this.dispatchEvent(new c(this,f.VALUE_UPDATED,null)))},i.prototype.getData=function(){var t={};return t[this._targetKey]=this._obj[this._targetKey],t},e.exports=i},{"../core/ComponentEvent":32,"../core/History":34,"../core/ObjectComponent":36,"../core/document/CSS":43,"../core/document/DocumentEvent":44,"../core/event/Event":49,"../group/GroupEvent":55,"../group/PanelEvent":58,"./NumberInput_Internal":15,"./Range":22,"./Slider_Internal":27}],27:[function(t,e,n){function i(t,e,n,i){this._bounds=[0,1],this._value=0,this._intrpl=0,this._focus=!1,this._onBegin=e||function(){},this._onChange=n||function(){},this._onFinish=i||function(){};var l=(new r).setStyleClass(s.SliderWrap);t.addChild(l);var h=this._slot={node:(new r).setStyleClass(s.SliderSlot),offsetX:0,width:0,padding:3},c=this._handle={node:(new r).setStyleClass(s.SliderHandle),width:0,dragging:!1};l.addChild(h.node),h.node.addChild(c.node),h.offsetX=h.node.getPositionGlobalX(),h.width=Math.floor(h.node.getWidth()-2*h.padding),c.node.setWidth(c.width),h.node.addEventListener(a.MOUSE_DOWN,this._onSlotMouseDown.bind(this)),h.node.addEventListener(a.MOUSE_UP,this._onSlotMouseUp.bind(this)),document.addEventListener(o.MOUSE_MOVE,this._onDocumentMouseMove.bind(this)),document.addEventListener(o.MOUSE_UP,this._onDocumentMouseUp.bind(this))}var r=t("../core/document/Node"),o=t("../core/document/DocumentEvent"),a=t("../core/document/NodeEvent"),s=t("../core/document/CSS"),l=t("../core/document/Mouse");i.prototype._onDocumentMouseMove=function(){this._handle.dragging&&(this._update(),this._onChange())},i.prototype._onDocumentMouseUp=function(){this._handle.dragging&&this._onFinish(),this._handle.dragging=!1},i.prototype._onSlotMouseDown=function(){this._onBegin(),this._focus=!0,this._handle.dragging=!0,this._handle.node.getElement().focus(),this._update()},i.prototype._onSlotMouseUp=function(){if(this._focus){var t=this._handle;t.dragging&&this._onFinish(),t.dragging=!1}this._focus=!1},i.prototype._update=function(){var t=l.get().getX(),e=this._slot.offsetX,n=this._slot.width,i=t<e?0:t>e+n?n:t-e;this._handle.node.setWidth(Math.round(i)),this._intrpl=i/n,this._interpolateValue()},i.prototype._updateHandle=function(){var t=this._slot.width,e=Math.round(this._intrpl*t);this._handle.node.setWidth(Math.min(e,t))},i.prototype._interpolateValue=function(){var t=this._intrpl,e=this._bounds;this._value=e[0]*(1-t)+e[1]*t},i.prototype.resetOffset=function(){var t=this._slot;t.offsetX=t.node.getPositionGlobalX(),t.width=Math.floor(t.node.getWidth()-2*t.padding)},i.prototype.setBoundMin=function(t){var e=this._bounds;t>=e[1]||(e[0]=t,this._updateFromBounds())},i.prototype.setBoundMax=function(t){var e=this._bounds;t<=e[0]||(e[1]=t,this._updateFromBounds())},i.prototype._updateFromBounds=function(){var t=this._bounds[0],e=this._bounds[1];this._value=Math.max(t,Math.min(this._value,e)),this._intrpl=Math.abs((this._value-t)/(t-e)),this._updateHandle()},i.prototype.setValue=function(t){var e=this._bounds[0],n=this._bounds[1];t<e||t>n||(this._intrpl=Math.abs((t-e)/(e-n)),this._updateHandle(),this._value=t)},i.prototype.getValue=function(){return this._value},e.exports=i},{"../core/document/CSS":43,"../core/document/DocumentEvent":44,"../core/document/Mouse":45,"../core/document/Node":46,"../core/document/NodeEvent":47}],28:[function(t,e,n){function i(t,e,n,i){r.apply(this,arguments),i=i||{},i.onChange=i.onChange||this._onChange,i.presets=i.presets||f,this._onChange=i.onChange;var c=this._input=new o(o.INPUT_TEXT),u=this._wrapNode,m=i.presets;if(m){var g=new o;g.setStyleClass(a.WrapInputWPreset),u.addChild(g),g.addChild(c);var v=s.get(),y=new l(this._wrapNode),_=function(){v.clear(),y.deactivate()},b=this,x=function(){v.build(m,c.getProperty("value"),c,function(){c.setProperty("value",m[v.getSelectedIndex()]),b.pushHistoryState(),b.applyValue()},_,h.PADDING_PRESET,!1)};y.setOnActive(x),y.setOnDeactive(_)}else u.addChild(c);c.setProperty("value",this._obj[this._key]),c.addEventListener(p.KEY_UP,this._onInputKeyUp.bind(this)),c.addEventListener(p.CHA
3NGE,this._onInputChange.bind(this)),c.addEventListener(p.MOUSE_DOWN,this._onInputDragStart.bind(this)),this.addEventListener(d.INPUT_SELECT_DRAG,this._parent,"onComponentSelectDrag")}var r=t("../core/ObjectComponent"),o=t("../core/document/Node"),a=t("../core/document/CSS"),s=t("./Options"),l=t("./ButtonPreset"),h=t("./Metric"),c=t("../core/event/Event"),u=t("../core/document/DocumentEvent"),p=t("../core/document/NodeEvent"),d=t("../core/ComponentEvent"),f=null;i.prototype=Object.create(r.prototype),i.prototype.constructor=i,i.prototype._onInputKeyUp=function(t){this._keyIsChar(t.keyCode)&&this.pushHistoryState(),this.applyValue(),this._onChange()},i.prototype._onInputChange=function(t){this._keyIsChar(t.keyCode)&&this.pushHistoryState(),this.applyValue()},i.prototype._keyIsChar=function(t){return 17!=t&&18!=t&&20!=t&&37!=t&&38!=t&&39!=t&&40!=t&&16!=t},i.prototype.applyValue=function(){this._obj[this._key]=this._input.getProperty("value"),this.dispatchEvent(new c(this,d.VALUE_UPDATED,null))},i.prototype.onValueUpdate=function(t){t.data.origin!=this&&this._input.setProperty("value",this._obj[this._key])},i.prototype._onInputDragStart=function(){var t=u.MOUSE_MOVE,e=u.MOUSE_UP,n=d.INPUT_SELECT_DRAG,i=this,r=function(){i.dispatchEvent(new c(this,n,null))},o=function(){i.dispatchEvent(new c(this,n,null)),document.removeEventListener(t,r,!1),document.removeEventListener(t,o,!1)};this.dispatchEvent(new c(this,n,null)),document.addEventListener(t,r,!1),document.addEventListener(e,o,!1)},e.exports=i},{"../core/ComponentEvent":32,"../core/ObjectComponent":36,"../core/document/CSS":43,"../core/document/DocumentEvent":44,"../core/document/Node":46,"../core/document/NodeEvent":47,"../core/event/Event":49,"./ButtonPreset":5,"./Metric":13,"./Options":17}],29:[function(t,e,n){var i=t("./Output");StringOutput=function(t,e,n,r){i.apply(this,arguments)},StringOutput.prototype=Object.create(i.prototype),StringOutput.prototype.constructor=StringOutput,StringOutput.prototype._setValue=function(){if(!this._parent.isDisabled()){var t=this._obj[this._key];if(t!=this._prevString){var e,n=this._textArea,i=n.getElement();n.setProperty("value",t),e=i.scrollHeight,n.setHeight(e);var r=this._scrollBar;r&&(e<=this._wrapNode.getHeight()?r.disable():(r.enable(),r.update(),r.reset())),this._prevString=t}}},e.exports=StringOutput},{"./Output":18}],30:[function(t,e,n){function i(t,e,n,i){r.apply(this,arguments);var s=this._svg,l=Number(s.getAttribute("width")),h=Number(s.getAttribute("height"));i=i||{},i.height=i.height||h,i.resolution=i.resolution||a;for(var c=i.resolution,u=Math.floor(l/c),p=this._points=new Array(2*u),d=this._buffer0=new Array(u),f=this._buffer1=new Array(u),m=.5*this._lineWidth,g=-1;++g<u;)d[g]=f[g]=p[2*g]=p[2*g+1]=m;this._height=i.height=i.height<o.COMPONENT_MIN_HEIGHT?o.COMPONENT_MIN_HEIGHT:i.height,this._svgSetSize(h,Math.floor(i.height)),this._grid.style.stroke="rgb(39,44,46)",this._updateHeight(),this._drawValue()}var r=t("./Plotter"),o=t("./Metric"),a=1;i.prototype=Object.create(r.prototype),i.prototype.constructor=i,i.prototype._redraw=function(){for(var t=this._points,e=this._buffer0.length,n=Number(this._svg.getAttribute("width")),i=n/(e-1),r=-1;++r<e;)t[2*r]=n-r*i;this._drawValue()},i.prototype.onGroupSizeChange=function(){var t=this._wrapNode.getWidth(),e=this._height;this._svgSetSize(t,e),this._updateHeight(),this._drawGrid(),this._redraw()},i.prototype._drawValue=function(){this._drawCurve()},i.prototype._drawGrid=function(){var t=this._svg,e=Number(t.getAttribute("width")),n=Math.floor(.5*Number(t.getAttribute("height"))),i="";i+=this._pathCmdMoveTo(0,n),i+=this._pathCmdLineTo(e,n),this._grid.setAttribute("d",i)},i.prototype._drawCurve=function(){var t=this._svg,e=this._obj[this._key],n=this._buffer0,i=this._buffer1,r=this._points,o=n.length,a="",s=.5*Number(t.getAttribute("height")),l=s-.5*this._lineWidth;r[1]=n[0],n[o-1]=e*l*-1+Math.floor(s),a+=this._pathCmdMoveTo(r[0],r[1]);for(var h,c=0;++c<o;)h=2*c,i[c-1]=n[c],r[h+1]=n[c-1]=i[c-1],a+=this._pathCmdLineTo(r[h],r[h+1]);this._path.setAttribute("d",a)},i.prototype.update=function(){this._parent.isDisabled()||this._drawValue()},e.exports=i},{"./Metric":13,"./Plotter":21}],31:[function(t,e,n){function i(t,e){a.apply(this,arguments),e=t.usesLabels()?e:"none",this._parent=t,this._enabled=!0;var n=this._node=new r(r.LIST_ITEM),i=this._wrapNode=new r;if(i.setStyleClass(o.Wrap),n.addChild(i),void 0!==e){if(0!=e.length&&"none"!=e){var l=this._lablNode=new r(r.SPAN);l.setStyleClass(o.Label),l.setProperty("innerHTML",e),n.addChild(l)}"none"==e&&(i.setStyleProperty("marginLeft","0"),i.setStyleProperty("width","100%"))}this._parent.addEventListener(s.ENABLE,this,"onEnable"),this._parent.addEventListener(s.DISABLE,this,"onDisable"),this._parent.addComponentNode(n)}
3var r=t("./document/Node"),o=t("./document/CSS"),a=t("./event/EventDispatcher"),s=t("./ComponentEvent");i.prototype=Object.create(a.prototype),i.prototype.constructor=i,i.prototype.enable=function(){this._enabled=!0},i.prototype.disable=function(){this._enabled=!1},i.prototype.isEnabled=function(){return this._enabled},i.prototype.isDisabled=function(){return!this._enabled},i.prototype.onEnable=function(){this.enable()},i.prototype.onDisable=function(){this.disable()},e.exports=i},{"./ComponentEvent":32,"./document/CSS":43,"./document/Node":46,"./event/EventDispatcher":50}],32:[function(t,e,n){var i={VALUE_UPDATED:"valueUpdated",UPDATE_VALUE:"updateValue",INPUT_SELECT_DRAG:"inputSelectDrag",ENABLE:"enable",DISABLE:"disable"};e.exports=i},{}],33:[function(t,e,n){function i(t,e){Error.apply(this),Error.captureStackTrace(this,i),this.name="ComponentObjectError",this.message="Object of type "+t.constructor.name+" has no member "+e+"."}i.prototype=Object.create(Error.prototype),i.prototype.constructor=i,e.exports=i},{}],34:[function(t,e,n){function i(){r.apply(this,arguments),this._states=[],this._enabled=!1}var r=t("./event/EventDispatcher"),o=t("./event/Event"),a=t("./HistoryEvent"),s=30;i.prototype=Object.create(r.prototype),i.prototype.constructor=i,i.prototype.pushState=function(t,e,n){if(!this._enabled){var i=this._states;i.length>=s&&i.shift(),i.push({object:t,key:e,value:n}),this.dispatchEvent(new o(this,a.STATE_PUSH,null))}},i.prototype.getState=function(t,e){var n=this._states,i=n.length;if(0==i)return null;for(var r,o,a=-1;++a<i;)if(r=n[a],r.object===t&&r.key===e){o=r.value;break}return o},i.prototype.popState=function(){if(!this._enabled){var t=this._states;if(!(t.length<1)){var e=t.pop();e.object[e.key]=e.value,this.dispatchEvent(new o(this,a.STATE_POP,null))}}},i.prototype.getNumStates=function(){return this._states.length},i._instance=null,i.setup=function(){return i._instance=new i},i.get=function(){return i._instance},i.prototype.enable=function(){this._enabled=!1},i.prototype.disable=function(){this._enabled=!0},e.exports=i},{"./HistoryEvent":35,"./event/Event":49,"./event/EventDispatcher":50}],35:[function(t,e,n){var i={STATE_PUSH:"historyStatePush",STATE_POP:"historyStatePop"};e.exports=i},{}],36:[function(t,e,n){function i(t,e,n,i){if(void 0===e[n])throw new l(e,n);i=i||{},i.label=i.label||n,o.apply(this,[t,i.label]),this._obj=e,this._key=n,this._onChange=function(){},s.get().addEventListener(a.UPDATE_VALUE,this,"onValueUpdate"),this.addEventListener(a.VALUE_UPDATED,s.get(),"onValueUpdated")}var r=t("./History"),o=t("./Component"),a=t("./ComponentEvent"),s=t("./ObjectComponentNotifier"),l=t("./ComponentObjectError"),h=t("./event/Event");i.prototype=Object.create(o.prototype),i.prototype.constructor=i,i.prototype.applyValue=function(){},i.prototype.onValueUpdate=function(t){},i.prototype.pushHistoryState=function(){var t=this._obj,e=this._key;r.get().pushState(t,e,t[e])},i.prototype.setValue=function(t){this._obj[this._key]=t,this.dispatchEvent(new h(this,a.VALUE_UPDATED,null))},i.prototype.getData=function(){var t={};return t[this._key]=this._obj[this._key],t},e.exports=i},{"./Component":31,"./ComponentEvent":32,"./ComponentObjectError":33,"./History":34,"./ObjectComponentNotifier":37,"./event/Event":49}],37:[function(t,e,n){function i(){r.apply(this)}var r=t("./event/EventDispatcher"),o=t("./event/Event"),a=t("./ComponentEvent"),s=t("./OptionEvent");i.prototype=Object.create(r.prototype),i.prototype.constructor=i,i.prototype.onValueUpdated=function(t){this.dispatchEvent(new o(this,a.UPDATE_VALUE,{origin:t.sender}))},i.prototype.onOptionTriggered=function(t){this.dispatchEvent(new o(this,s.TRIGGER,{origin:t.sender}))};var l=null;i.get=function(){return l||(l=new i),l},i.destroy=function(){l=null},e.exports=i},{"./ComponentEvent":32,"./OptionEvent":38,"./event/Event":49,"./event/EventDispatcher":50}],38:[function(t,e,n){var i={TRIGGERED:"selectTrigger",TRIGGER:"triggerSelect"};e.exports=i},{}],39:[function(t,e,n){function i(){var t=320,e=200,n=window.open("",""," width="+t+", height="+e+", left="+(window.screenX+.5*window.innerWidth-.5*t)+", top="+(window.screenY+.5*window.innerHeight-.5*e)+", location=0, titlebar=0, resizable=0");return n.document.documentElement.innerHTML=a,n}function r(t){var e=i(),n=e.document;n.body.innerHTML+=s,n.getElementById("save").addEventListener("click",function(){var t=n.getElementById("state").value,e=new Blob([t],{type:"application:json"}),i=n.getElementById("filename").value,r=document.createElement("a");r.download=i,window.webkitURL?r.href=window.webkitURL.createObjectURL(e):(r.href=window.createObjectURL(e),r.style.display="none",r.addEventListener("click",function(){n.body.removeChild(r)}),n.body.appendChild(r)),r.click()}),n.getElementById("state").innerText=JSON.stringify(t)}function o(t){function e(){try{var t=JSON.parse(o.value);t&&"object"==typeof t&&null!==t&&(a.disabled=!1)}catch(e){a.disabled=!0}}var n=i(),r=n.document;r.body.innerHTML+=l;var o=r.getElementById("state"),a=r.getElementById("load");a.disabled=!0,o.addEventListener("input",function(){e()}),r.getElementById("load").addEventListener("click",function(){var e=o.value;t(JSON.parse(e).data),n.close()});var s=r.getElementById("load-disk");s.addEventListener("change",function(){var t=new FileReader;t.addEventListener("loadend",function(t){o.value=t.target.result,e()}),t.readAsText(s.files[0],"utf-8")})}var a='<head>\n <title>ControlKit State</title>\n <style type="text/css">\n body{\n box-sizing: border-box;\n padding: 20px;\n margin: 0;\n font-family: Arial, sans-serif;\n width: 100%;\n }\n textarea{\n margin-bottom:10px;\n box-sizing: border-box;\n padding: 0;\n border: 0;\n border: 1px solid #dedede;\n outline: none;\n font-family: Monaco, monospace;\n font-size: 11px;\n resize: none;\n word-wrap: break-word;\n display: block;\n width: 100%;
3\n overflow-y: scroll;\n height: 125px;\n }\n button{\n margin: 0;\n padding: 0 5px 3px 5px;\n height: 20px;\n }\n #save,#filename,#load{\n float: right;\n }\n input[type="text"]{\n margin: 0;\n padding: 0;\n width: 45%;\n height:20px;\n }\n </style>\n</head>\n<body>\n <textarea name="state" id="state"></textarea>\n</body>',s='<button type="button" id="save">Save</button>\n<input type="text" id="filename" value="ck-state.json"></input>',l='<input type="file" id="load-disk"></button><button type="button" id="load">Load</button>';e.exports={load:o,save:r}},{}],40:[function(t,e,n){function i(t){Error.apply(this),Error.captureStackTrace(this,i),this.name="ColorFormatError",this.message=t}i.prototype=Object.create(Error.prototype),i.prototype.constructor=i,e.exports=i},{}],41:[function(t,e,n){var i={RGB:"rgb",HSV:"hsv",HEX:"hex",RGBfv:"rgbfv"};e.exports=i},{}],42:[function(t,e,n){var i={HSV2RGB:function(t,e,n){var i=360,r=100,o=100,a=0,s=0;if(t%=i,n=Math.max(s,Math.min(n,o))/o*255,e<=a)return n=Math.round(n),[n,n,n];e>r&&(e=r),e/=r;var l=Math.floor(t/60)%6,h=t/60-l,c=n*(1-e),u=n*(1-h*e),p=n*(1-(1-h)*e),d=0,f=0,m=0;switch(l){case 0:d=n,f=p,m=c;break;case 1:d=u,f=n,m=c;break;case 2:d=c,f=n,m=p;break;case 3:d=c,f=u,m=n;break;case 4:d=p,f=c,m=n;break;case 5:d=n,f=c,m=u}return d=Math.round(d),f=Math.round(f),m=Math.round(m),[d,f,m]},RGB2HSV:function(t,e,n){var i=0,r=0,o=0;t/=255,e/=255,n/=255;var a=Math.min(t,Math.min(e,n)),s=Math.max(t,Math.max(e,n));if(a==s)return o=a,[0,0,Math.round(o)];var l=t==a?e-n:n==a?t-e:n-t,h=t==a?3:n==a?1:5;return i=Math.round(60*(h-l/(s-a))),r=Math.round((s-a)/s*100),o=Math.round(100*s),[i,r,o]},RGB2HEX:function(t,e,n){return"#"+((1<<24)+(t<<16)+(e<<8)+n).toString(16).slice(1)},RGBfv2HEX:function(t,e,n){return i.RGB2HEX(Math.floor(255*t),Math.floor(255*e),Math.floor(255*n))},HSV2HEX:function(t,e,n){var i=ControlKit.ColorUtil.HSV2RGB(t,e,n);return ControlKit.ColorUtil.RGB2HEX(i[0],i[1],i[2])},HEX2RGB:function(t){var e=/^#?([a-f\d])([a-f\d])([a-f\d])$/i;t=t.replace(e,function(t,e,n,i){return e+e+n+n+i+i});var n=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);return n?[parseInt(n[1],16),parseInt(n[2],16),parseInt(n[3],16)]:null},isValidHEX:function(t){return/^#[0-9A-F]{6}$/i.test(t)},isValidRGB:function(t,e,n){return t>=0&&t<=255&&e>=0&&e<=255&&n>=0&&n<=255},isValidRGBfv:function(t,e,n){return t>=0&&t<=1&&e>=0&&e<=1&&n>=0&&n<=1}};e.exports=i},{}],43:[function(t,e,n){var i={ControlKit:"controlKit",Panel:"panel",Head:"head",Label:"label",Menu:"menu",Wrap:"wrap",ButtonMenuClose:"button-menu-close",ButtonMenuHide:"button-menu-hide",ButtonMenuShow:"button-menu-show",ButtonMenuUndo:"button-menu-undo",ButtonMenuLoad:"button-menu-load",ButtonMenuSave:"button-menu-save",MenuActive:"menu-active",Button:"button",ButtonPreset:"button-preset",ButtonPresetActive:"button-preset-active",WrapInputWPreset:"input-with-preset-wrap",WrapColorWPreset:"color-with-preset-wrap",HeadInactive:"head-inactive",PanelHeadInactive:"panel-head-inactive",GroupList:"group-list",Group:"group",SubGroupList:"sub-group-list",SubGroup:"sub-group",TextAreaWrap:"textarea-wrap",WrapSlider:"wrap-slider",SliderWrap:"slider-wrap",SliderSlot:"slider-slot",SliderHandle:"slider-handle",ArrowBMin:"arrow-b-min",ArrowBMax:"arrow-b-max",ArrowBSubMin:"arrow-b-sub-min",ArrowBSubMax:"arrow-b-sub-max", 4ArrowSMin:"arrow-s-min",ArrowSMax:"arrow-s-max",Select:"select",SelectActive:"select-active",Options:"options",OptionsSelected:"li-selected",CanvasListItem:"canvas-list-item",CanvasWrap:"canvas-wrap",SVGListItem:"svg-list-item",SVGWrap:"svg-wrap",GraphSliderXWrap:"graph-slider-x-wrap",GraphSliderYWrap:"graph-slider-y-wrap",GraphSliderX:"graph-slider-x",GraphSliderY:"graph-slider-y",GraphSliderXHandle:"graph-slider-x-handle",GraphSliderYHandle:"graph-slider-y-handle",Picker:"picker",PickerFieldWrap:"field-wrap",PickerInputWrap:"input-wrap",PickerInputField:"input-field",PickerControlsWrap:"controls-wrap",PickerColorContrast:"color-contrast",PickerHandleField:"indicator",PickerHandleSlider:"indicator",Color:"color",ScrollBar:"scrollBar",ScrollWrap:"scroll-wrap",ScrollBarBtnUp:"bt
4nUp",ScrollBarBtnDown:"btnDown",ScrollBarTrack:"track",ScrollBarThumb:"thumb",ScrollBuffer:"scroll-buffer"};e.exports=i},{}],44:[function(t,e,n){var i={MOUSE_MOVE:"mousemove",MOUSE_UP:"mouseup",MOUSE_DOWN:"mousedown",MOUSE_WHEEL:"mousewheel",WINDOW_RESIZE:"resize"};e.exports=i},{}],45:[function(t,e,n){function i(){r.apply(this),this._pos=[0,0],this._wheelDirection=0,this._hoverElement=null;var t=this;this._onDocumentMouseMove=function(e){var n=0,i=0;e||(e=window.event),e.pageX?(n=e.pageX,i=e.pageY):e.clientX&&(n=e.clientX+document.body.scrollLeft+document.documentElement.scrollLeft,i=e.clientY+document.body.scrollTop+document.documentElement.scrollTop),t._pos[0]=n,t._pos[1]=i,t._hoverElement=document.elementFromPoint(n,i)},this._onDocumentMouseWheel=function(e){t._wheelDirection=e.detail<0?1:e.wheelDelta>0?1:-1,t.dispatchEvent(new o(t,a.MOUSE_WHEEL,e))},document.addEventListener(a.MOUSE_MOVE,this._onDocumentMouseMove),document.addEventListener(a.MOUSE_WHEEL,this._onDocumentMouseWheel)}var r=t("../event/EventDispatcher"),o=t("../event/Event"),a=t("./DocumentEvent"),s=null;i.prototype=Object.create(r.prototype),i.prototype.constructor=i,i.prototype._removeDocumentListener=function(){document.removeEventListener(a.MOUSE_MOVE,this._onDocumentMouseMove),document.removeEventListener(a.MOUSE_WHEEL,this._onDocumentMouseWheel)},i.prototype.getPosition=function(){return this._pos},i.prototype.getX=function(){return this._pos[0]},i.prototype.getY=function(){return this._pos[1]},i.prototype.getWheelDirection=function(){return this._wheelDirection},i.prototype.getHoverElement=function(){return this._hoverElement},i.setup=function(){return s=s||new i},i.get=function(){return s},i.destroy=function(){s._removeDocumentListener(),s=null},e.exports=i},{"../event/Event":49,"../event/EventDispatcher":50,"./DocumentEvent":44}],46:[function(t,e,n){function i(){switch(this._element=null,arguments.length){case 1:var t=arguments[0];t!=i.INPUT_TEXT&&t!=i.INPUT_BUTTON&&t!=i.INPUT_SELECT&&t!=i.INPUT_CHECKBOX?this._element=document.createElement(t):(this._element=document.createElement("input"),this._element.type=t);break;case 0:this._element=document.createElement("div")}}i.DIV="div",i.INPUT_TEXT="text",i.INPUT_BUTTON="button",i.INPUT_SELECT="select",i.INPUT_CHECKBOX="checkbox",i.OPTION="option",i.LIST="ul",i.LIST_ITEM="li",i.SPAN="span",i.TEXTAREA="textarea",i.prototype={addChild:function(t){return this._element.appendChild(t.getElement()),t},addChildren:function(){for(var t=-1,e=arguments.length,n=this._element;++t<e;)n.appendChild(arguments[t].getElement());return this},addChildAt:function(t,e){return this._element.insertBefore(t.getElement(),this._element.children[e]),t},removeChild:function(t){return this.contains(t)?(this._element.removeChild(t.getElement()),t):null},removeChildren:function(){for(var t=-1,e=arguments.length,n=this._element;++t<e;)n.removeChild(arguments[t].getElement());return this},removeChildAt:function(t,e){return this.contains(t)?(this._element.removeChild(t.getElement()),t):null},removeAllChildren:function(){for(var t=this._element;t.hasChildNodes();)t.removeChild(t.lastChild);return this},setWidth:function(t){return this._element.style.width=t+"px",this},getWidth:function(){return this._element.offsetWidth},setHeight:function(t){return this._element.style.height=t+"px",this},getHeight:function(){return this._element.offsetHeight},setPosition:function(t,e){return this.setPosition(t).setPosition(e)},setPositionX:function(t){return this._element.style.marginLeft=t+"px",this},setPositionY:function(t){return this._element.style.marginTop=t+"px",this},setPositionGlobal:function(t,e){return this.setPositionGlobalX(t).setPositionGlobalY(e)},setPositionGlobalX:function(t){return this._element.style.left=t+"px",this},setPositionGlobalY:function(t){return this._element.style.top=t+"px",this},getPosition:function(){return[this.getPositionX(),this.getPositionY()]},getPositionX:function(){return this._element.offsetLeft},getPositionY:function(){return this._element.offsetTop},getPositionGlobal:function(){for(var t=[0,0],e=this._element;e;)t[0]+=e.offsetLeft,t[1]+=e.offsetTop,e=e.offsetParent;return t},getPositionGlobalX:function(){for(var t=0,e=this._element;e;)t+=e.offsetLeft,e=e.offsetParent;return t},getPositionGlobalY:function(){for(var t=0,e=this._element;e;)t+=e.offsetTop,e=e.offsetParent;return t},addEventListener:function(t,e,n){return this._element.addEventListener(t,e,n),this},removeEventListener:function(t,e,n){return this._element.removeEventListener(t,e,n),this},dispatchEvent:function(t){return this._element.dispatchEvent(t),this},setStyleClass:function(t){return this._element.className=t,this},setStyleProperty:function(t,e){return this._element.style[t]=e,this},getStyleProperty:function(t){return this._element.style[t]},setStyleProperties:function(t){for(var e in t)this._element.style[e]=t[e];return this},deleteStyleClass:function(){return this._element.className="",this},deleteStyleProperty:function(t){return this._element.style[t]="",this},deleteStyleProperties:function(t){for(var e in t)this._element.style[e]="";return this},getChildAt:function(t){return(new i).setElement(this._element.children[t])},getChildIndex:function(t){return this._indexOf(this._element,t.getElement())},getNumChildren:function(){return this._element.children.length},getFirstChild:function(){return(new i).setElement(this._element.firstChild)},getLastChild:function(){return(new i).setElement(this._element.lastChild)},hasChildren:function(){return 0!=this._element.children.length},contains:function(t){return this._indexOf(this._element,t.getElement())!=-1},_indexOf:function(t,e){return Array.prototype.indexOf.call(t.children,e)},setProperty:function(t,e){return this._element[t]=e,this},setProperties:function(t){for(var e in t)this._element[e]=t[e];return this},getProperty:function(t){return this._element[t]},setElement:function(t){return this._element=t,this},getElement:function(){return this._element},getStyle:function(){return this._element.style},getParent:function(){return(new i).setElement(this._element.parentNode)}},i.getNodeByElement=function(t){return(new i).setElement(t)},i.getNodeById=function(t){return(new i).setElement(document.getElementById(t))},e.exports=i},{}],47:[function(t,e,n){var i={MOUSE_DOWN:"mousedown",MOUSE_UP:"mouseup",MOUSE_OVER:"mouseover",MOUSE_MOVE:"mousemove",MOUSE_OUT:"mouseout",KEY_DOWN:"keydown",KEY_UP:"keyup",CHANGE:"change",FINISH:"finish",DBL_CLICK:"dblclick",ON_CLICK:"click",SELECT_START:"selectstart",DRAG_START:"dragstart",DRAG:"drag",DRAG_END:"dragend",DRAG_ENTER:"dragenter",DRAG_OVER:"dragover",DRAG_LEAVE:"dragleave",RESIZE:"resize"};e.exports=i},{}],48:[function(t,e,n){var i={string:"#controlKit{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}#controlKit .panel{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;pointer-events:auto;position:relative;z-index:1;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden;opacity:1;float:left;
4width:200px;border-radius:3px;-moz-border-radius:3px;box-shadow:0 2px 2px rgba(0,0,0,.25);margin:0;padding:0;background-color:#1a1a1a;font-family:Arial,sans-serif}#controlKit .panel .wrap{width:auto;height:auto;margin:0;padding:0;position:relative;overflow:hidden}#controlKit .panel ul{margin:0;padding:0;list-style:none}#controlKit .panel .color,#controlKit .panel input[type=text],#controlKit .panel textarea,#controlKit .picker input[type=text]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;width:100%;height:25px;padding:0 0 0 8px;font-family:Arial,sans-serif;font-size:11px;color:#fff;text-shadow:1px 1px #000;outline:0;background:#222729;background-image:-o-linear-gradient(rgba(0,0,0,.075) 0,rgba(0,0,0,.125) 100%);background-image:linear-gradient(rgba(0,0,0,.075) 0,rgba(0,0,0,.125) 100%);border:none;box-shadow:0 0 0 1px #1f1f1f inset;border-radius:2px;-moz-border-radius:2px}#controlKit .panel .button,#controlKit .panel .select,#controlKit .panel .select-active,#controlKit .picker .button{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;cursor:pointer;width:100%;height:26px;margin:0;background-image:-o-linear-gradient(#404040 0,#3b3b3b 100%);background-image:linear-gradient(#404040 0,#3b3b3b 100%);border:none;outline:0;border-radius:2px;box-shadow:0 0 0 1px #1f1f1f inset,-1px 2px 0 0 #4a4a4a inset;font-family:Arial,sans-serif;color:#fff}#controlKit .panel textarea{padding:5px 8px 2px;overflow:hidden;resize:none;vertical-align:top;white-space:nowrap}#controlKit .panel .textarea-wrap{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;width:100%;padding:0;float:left;height:100%;overflow:hidden;border:none;border-radius:2px;-moz-border-radius:2px;background-color:#222729;box-shadow:0 0 1px 2px rgba(0,0,0,.0125) inset,0 0 1px 1px #111314 inset;background-image:-o-linear-gradient(rgba(0,0,0,.075) 0,rgba(0,0,0,.125) 100%);background-image:linear-gradient(rgba(0,0,0,.075) 0,rgba(0,0,0,.125) 100%)}#controlKit .panel .textarea-wrap textarea{border:none;border-radius:2px;-moz-border-radius:2px;box-shadow:none;background:0 0}#controlKit .panel .textarea-wrap .scrollBar{border:1px solid #101213;border-bottom-right-radius:2px;border-top-right-radius:2px;border-left:none;box-shadow:0 0 1px 2px rgba(0,0,0,.0125) inset,0 0 1px 1px #111314 inset}#controlKit .panel canvas{cursor:pointer;vertical-align:bottom;border:none;box-shadow:0 0 0 1px #1f1f1f inset;border-radius:2px;-moz-border-radius:2px}#controlKit .panel .canvas-wrap,#controlKit .panel .svg-wrap{margin:6px 0 0;position:relative;width:70%;float:right;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border:none;border-radius:2px;-moz-border-radius:2px;background:#1e2224;background-image:-o-linear-gradient(transparent 0,rgba(0,0,0,.05) 100%);background-image:linear-gradient(transparent 0,rgba(0,0,0,.05) 100%)}#controlKit .panel .canvas-wrap svg,#controlKit .panel .svg-wrap svg{position:absolute;left:0;top:0;cursor:pointer;vertical-align:bottom;border:none;box-shadow:0 0 0 1px #1f1f1f inset;border-radius:2px;-moz-border-radius:2px}#controlKit .panel .button,#controlKit .picker .button{font-size:10px;font-weight:700;text-shadow:0 1px #000;text-transform:uppercase}#controlKit .panel .button:hover,#controlKit .picker .button:hover{background-image:-o-linear-gradient(#454545 0,#3b3b3b 100%);background-image:linear-gradient(#454545 0,#3b3b3b 100%)}#controlKit .panel .button:active,#controlKit .picker .button:active{background-image:-o-linear-gradient(#404040 0,#3b3b3b 100%);background-image:linear-gradient(#404040 0,#3b3b3b 100%)}#controlKit .panel .color-with-preset-wrap,#controlKit .panel .input-with-preset-wrap{width:100%;float:left}#controlKit .panel .color-with-preset-wrap .color,#controlKit .panel .input-with-preset-wrap input[type=text]{padding-right:25px;border-top-right-radius:2px;border-bottom-right-radius:2px;float:left}#controlKit .panel .button-preset,#controlKit .panel .button-preset-active{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:absolute;right:0;width:20px;height:25px;margin:0;cursor:pointer;float:right;border:none;border-top-right-radius:2px;border-bottom-right-radius:2px;box-shadow:0 0 0 1px #1f1f1f inset,-1px 2px 0 0 #4a4a4a inset;outline:0}
4#controlKit .panel .button-preset-active,#controlKit .panel .button-preset:hover{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAYAAAB4ka1VAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAAG5JREFUeNpi5ODiamRgYKhjwA4amVx8gxjmL1rC8P3rVxQ8b+ESBhffIAZmNR29A5evXWdiZGC019XSZGBgYGBYvmY9w7I16xoZGBgaWKBG1S9bs+4/AwNDPQMDA1ySgYGBgdEnPAbZzgY0mgEwAE9lJT1lrsffAAAAAElFTkSuQmCC) 50% 50% no-repeat,linear-gradient(#454545 0,#3b3b3b 100%)}#controlKit .panel .button-preset{background:url(data:image/png;base64,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) 50% 50% no-repeat,linear-gradient(#404040 0,#3b3b3b 100%)}#controlKit .panel input[type=checkbox]{margin:6px 0 0}#controlKit .panel .select,#controlKit .panel .select-active{padding-left:10px;padding-right:20px;font-size:11px;text-align:left;text-shadow:1px 1px #000;cursor:pointer;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}#controlKit .panel .select{background:url(data:image/png;base64,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) 100% 50% no-repeat,linear-gradient(#404040 0,#3b3b3b 100%)}#controlKit .panel .select-active,#controlKit .panel .select:hover{background:url(data:image/png;base64,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) 100% 50% no-repeat,linear-gradient(#454545 0,#3b3b3b 100%)}#controlKit .panel .slider-handle,#controlKit .panel .slider-slot,#controlKit .panel .slider-wrap,#controlKit .panel .wrap-slider{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#controlKit .panel .wrap-slider{width:70%;padding:6px 0 0;float:right;height:100%}#controlKit .panel .wrap-slider input[type=text]{width:25%;text-align:center;padding:0;float:right}#controlKit .panel .slider-wrap{float:left;cursor:ew-resize;width:70%}#controlKit .panel .slider-slot{width:100%;height:25px;padding:3px;background-color:#1e2224;border:none;box-shadow:0 0 0 1px #1f1f1f inset;border-radius:2px;-moz-border-radius:2px}#controlKit .panel .slider-handle{position:relative;width:100%;height:100%;background:#b32435;background-image:-o-linear-gradient(transparent 0,rgba(0,0,0,.1) 100%);background-image:linear-gradient(transparent 0,rgba(0,0,0,.1) 100%);box-shadow:0 1px 0 0 #0f0f0f}#controlKit .panel .color{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;width:100%;height:25px;padding:0;border:none;background:#fff;box-shadow:0 0 0 1px #111314 inset;text-align:center;line-height:25px;border-radius:2px;-moz-border-radius:2px}#controlKit .panel .graph-slider-x-wrap,#controlKit .panel .graph-slider-y-wrap{position:absolute;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#controlKit .panel .graph-slider-x-wrap{bottom:0;left:0;width:100%;padding:6px 20px 6px 6px}#controlKit .panel .graph-slider-y-wrap{top:0;right:0;height:100%;padding:6px 6px 20px}#controlKit .panel .graph-slider-x,#controlKit .panel .graph-slider-y{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border-radius:2px;-moz-border-radius:2px;background:rgba(24,27,29,.5);border:1px solid #181b1d}#controlKit .panel .graph-slider-x{height:8px}#controlKit .panel .graph-slider-y{width:8px;height:100%}#controlKit .panel .graph-slider-x-handle,#controlKit .panel .graph-slider-y-handle{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;
4cursor:pointer;border:1px solid #181b1d;background:#303639}#controlKit .panel .graph-slider-x-handle{width:20px;height:100%;border-top:none;border-bottom:none}#controlKit .panel .graph-slider-y-handle{width:100%;height:20px;border-left:none;border-right:none}#controlKit .sub-group .wrap .wrap .wrap{width:25%!important;padding:0!important;float:left!important}#controlKit .sub-group .wrap .wrap .wrap .label{width:100%!important;padding:8px 0 0!important;color:#878787!important;text-align:center!important;text-transform:uppercase!important;font-weight:700!important;text-shadow:1px 1px #1a1a1a!important}#controlKit .sub-group .wrap .wrap .wrap input[type=text]{padding:0;text-align:center}#controlKit .options{pointer-events:auto;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border:1px solid #1f1f1f;border-radius:2px;-moz-border-radius:2px;position:absolute;z-index:2147483638;left:0;top:0;width:auto;height:auto;box-shadow:0 1px 0 0 #4a4a4a inset;background-color:#454545;font-family:Arial,sans-serif;font-size:11px;color:#fff;text-shadow:1px 1px #000;overflow:hidden}#controlKit .options ul{width:100%;list-style:none;margin:0;padding:0}#controlKit .options ul li{margin:0;width:100%;height:25px;line-height:25px;padding:0 20px 0 10px;overflow:hidden;white-space:normal;text-overflow:ellipsis;cursor:pointer}#controlKit .options ul li:hover{background-color:#1f2325}#controlKit .options ul .li-selected{background-color:#292d30}#controlKit .options .color{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#controlKit .options .color .li-selected,#controlKit .options .color li{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0;height:25px;line-height:25px;text-align:center}#controlKit .options .color .li-selected:hover,#controlKit .options .color li:hover{background:0 0;font-weight:700}#controlKit .options .color .li-selected{font-weight:700}#controlKit .panel .label,#controlKit .picker .label{width:100%;float:left;font-size:11px;font-weight:700;text-shadow:0 1px #000;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;cursor:default}#controlKit .panel .head,#controlKit .panel .panel-head-inactive,#controlKit .picker .head{height:30px;padding:0 10px;background:#1a1a1a;overflow:hidden}#controlKit .panel .head .wrap,#controlKit .panel .panel-head-inactive .wrap,#controlKit .picker .head .wrap{width:auto;height:auto;margin:0;padding:0;position:relative;overflow:hidden}#controlKit .panel .head .label,#controlKit .picker .head .label{cursor:pointer;line-height:30px;color:#65696b}#controlKit .panel .group-list .group .head{height:38px;padding:0 10px;border-top:1px solid #4f4f4f;border-bottom:1px solid #262626;background-image:-o-linear-gradient(#454545 0,#3b3b3b 100%);background-image:linear-gradient(#454545 0,#3b3b3b 100%);cursor:pointer}#controlKit .panel .group-list .group .head .label{font-size:12px;line-height:38px;color:#fff}#controlKit .panel .group-list .group .head:hover{border-top:1px solid #525252;background-image:-o-linear-gradient(#454545 0,#404040 100%);background-image:linear-gradient(#454545 0,#404040 100%)}#controlKit .panel .group-list .group li{height:35px;padding:0 10px}#controlKit .panel .group-list .group .sub-group-list .sub-group:last-of-type{border-bottom:none}#controlKit .panel .group-list .group .sub-group-list .sub-group{padding:0;height:auto;border-bottom:1px solid #242424}#controlKit .panel .group-list .group .sub-group-list .sub-group ul{overflow:hidden}#controlKit .panel .group-list .group .sub-group-list .sub-group ul li{background:#2e2e2e;border-bottom:1px solid #222729}#controlKit .panel .group-list .group .sub-group-list .sub-group ul li:last-of-type{border-bottom:none}#controlKit .panel .group-list .group .sub-group-list .sub-group:first-child{margin-top:0}#controlKit .panel .group-list .group .sub-group-list .sub-group .head,#controlKit .panel .group-list .group .sub-group-list .sub-group .head-inactive{cursor:pointer}#controlKit .panel .group-list .group .sub-group-list .sub-group .head{height:27px;padding:0 10px;border-top:none;border-bottom:1px solid #242424;background-image:none;background-color:#272727}
4#controlKit .panel .group-list .group .sub-group-list .sub-group .head:hover{background-image:none;background-color:#272727}#controlKit .panel .group-list .group .sub-group-list .sub-group .head-inactive{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;height:27px;padding:0 10px;box-shadow:0 1px 0 0 #404040 inset;background-image:-o-linear-gradient(#3b3b3b 0,#383838 100%);background-image:linear-gradient(#3b3b3b 0,#383838 100%)}#controlKit .panel .group-list .group .sub-group-list .sub-group .head-inactive:hover{box-shadow:0 1px 0 0 #474747 inset;background-image:none;background-image:-o-linear-gradient(#404040 0,#3b3b3b 100%);background-image:linear-gradient(#404040 0,#3b3b3b 100%)}#controlKit .panel .group-list .group .sub-group-list .sub-group .head .label,#controlKit .panel .group-list .group .sub-group-list .sub-group .head-inactive .label{margin:0;padding:0;line-height:27px;color:#fff;font-weight:700;font-size:11px;text-shadow:1px 1px #000;text-transform:capitalize}#controlKit .panel .group-list .group .sub-group-list .sub-group .head .wrap .label,#controlKit .panel .group-list .group .sub-group-list .sub-group .head-inactive .wrap .label{width:100%;font-weight:700;color:#fff;padding:0}#controlKit .panel .group-list .group .sub-group-list .sub-group .wrap .label{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;height:100%;width:30%;padding:12px 5px 0 0;float:left;font-size:11px;font-weight:400;color:#aeb5b8;text-shadow:1px 1px #000}#controlKit .panel .group-list .group .sub-group-list .sub-group .wrap .wrap{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;width:70%;padding:5px 0 0;float:right;height:100%}#controlKit .panel .group-list .group:last-child .scroll-buffer:nth-of-type(3),#controlKit .panel .group-list .group:last-child .sub-group-list{border-bottom:none}#controlKit .panel .scroll-wrap{position:relative;overflow:hidden}#controlKit .panel .scroll-buffer{width:100%;height:8px;border-top:1px solid #3b4447;border-bottom:1px solid #1e2224}#controlKit .panel .scrollBar{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;width:15px;height:100%;float:right;top:0;padding:0;margin:0;position:relative;background:#212628;background-image:linear-gradient(to right,#242424 0,#2e2e2e 100%)}#controlKit .panel .scrollBar .track{padding:0 3px 0 2px}#controlKit .panel .scrollBar .track .thumb{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;width:11px;position:absolute;cursor:pointer;background-color:#343434;border:1px solid #1b1f21;border-radius:10px;-moz-border-radius:10px;box-shadow:inset 0 1px 0 0 #434b50}#controlKit .panel .menu,#controlKit .panel .menu-active,#controlKit .picker .menu{float:right;padding:5px 0 0}#controlKit .panel .menu input[type=button],#controlKit .panel .menu-active input[type=button],#controlKit .picker .menu input[type=button]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;cursor:pointer;height:20px;border:none;vertical-align:top;border-radius:2px;-moz-border-radius:2px;font-family:Arial,sans-serif;font-size:10px;font-weight:700;color:#aaa;text-shadow:0 -1px #000;text-transform:uppercase;box-shadow:0 0 0 1px #131313 inset,-1px 2px 0 0 #212527 inset;outline:0}#controlKit .panel .menu .button-menu-close,#controlKit .panel .menu .button-menu-hide,#controlKit .panel .menu .button-menu-show,#controlKit .panel .menu-active .button-menu-close,#controlKit .panel .menu-active .button-menu-hide,#controlKit .panel .menu-active .button-menu-show,#controlKit .picker .menu .button-menu-close,#controlKit .picker .menu .button-menu-hide,#controlKit .picker .menu .button-menu-show{width:20px;margin-left:4px}#controlKit .panel .menu .button-menu-hide,#controlKit .panel .menu-active .button-menu-hide,#controlKit .picker .menu .button-menu-hide{background:url(data:image/png;base64,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) 50% 50% no-repeat,#1a1d1f}#controlKit .panel .menu .button-menu-hide:hover,#controlKit .panel .menu-active .button-menu-hide:hover,#controlKit .picker .menu .button-menu-hide:hover{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAYAAAB4ka1VAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVp
4ds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAAGRJREFUeNpidPUNYoCBU0cO1DMwMDCY2Tg0wsRYkCVlFZUboGy4ImZldU24pJySCgO/oBADAwODw/VL5xmk5RQOMr99/RIuCQPIiljMbBwYGBgYGH7//MmADCSlZRkkpWUZAAMAvTsgXBvOsq0AAAAASUVORK5CYII=) 50% 50% no-repeat,#000;box-shadow:#fff 0,#000 100%}#controlKit .panel .menu .button-menu-show,#controlKit .panel .menu-active .button-menu-show,#controlKit .picker .menu .button-menu-show{background:url(data:image/png;base64,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) 50% 50% no-repeat,#1a1d1f}#controlKit .panel .menu .button-menu-show:hover,#controlKit .panel .menu-active .button-menu-show:hover,#controlKit .picker .menu .button-menu-show:hover{background:url(data:image/png;base64,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) 50% 50% no-repeat,#000;box-shadow:#fff 0,#000 100%}#controlKit .panel .menu .button-menu-close,#controlKit .panel .menu-active .button-menu-close,#controlKit .picker .menu .button-menu-close{background:url(data:image/png;base64,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) 50% 50% no-repeat,#1a1d1f}#controlKit .panel .menu .button-menu-close:hover,#controlKit .panel .menu-active .button-menu-close:hover,#controlKit .picker .menu .button-menu-close:hover{background:url(data:image/png;base64,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) 50% 50% no-repeat,#000;box-shadow:#fff 0,#000 100%}#controlKit .panel .menu .button-menu-undo,#controlKit .panel .menu-active .button-menu-undo{background:url(data:image/png;base64,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) 20% 50% no-repeat,#1a1d1f;padding:0 6px 1px 0;width:38px;vertical-align:top;text-align:end}#controlKit .panel .menu .button-menu-undo:hover,#controlKit .panel .menu-active .button-menu-undo:hover{background:url(data:image/png;base64,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) 20% 50% no-repeat,#000;box-shadow:#fff 0,#000 100%}#controlKit .panel .menu .button-menu-load,#controlKit .panel .menu-active .button-menu-load{margin-right:2px}#controlKit .panel .menu .button-menu-load,#controlKit .panel .menu .button-menu-save,#controlKit .panel .menu-active .button-menu-load,#controlKit .panel .menu-active .button-menu-save{background:#1a1d1f;font-size:9px!important}#controlKit .panel .menu .button-menu-load:hover,#controlKit .panel .menu .button-menu-save:hover,#controlKit .panel .menu-active .button-menu-load:hover,#controlKit .panel .menu-active .button-menu-save:hover{background:#000}#controlKit .panel .menu .wrap{display:none}#controlKit .panel .menu-active{width:100%;float:left}#controlKit .panel .menu-active .wrap{display:inline}#controlKit .panel .menu-active .button-menu-close,#controlKit .panel .menu-active .button-menu-hide,#controlKit .panel .menu-active .button-menu-show{float:right}#controlKit .panel .arrow-s-max{background:url(data:image/png;base64,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) center no-repeat}#controlKit .panel .arrow-s-min{background:url(data:image/png;base64,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) center no-repeat}#controlKit .panel .arrow-s-max,#controlKit .panel .arrow-s-min{width:100%;height:20px}#controlKit .panel .arrow-b-max{background:url(data:image/png;base64,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) center no-repeat}#controlKit .panel .arrow-b-min{background:url(data:image/png;base64,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) center no-repeat}#controlKit .panel .arrow-b-sub-max{background:url(data:image/png;base64,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) center no-repeat}#controlKit .panel .arrow-b-sub-min{background:url(data:image/png;base64,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) center no-repeat}#controlKit .panel .arrow-b-max,#controlKit .panel .arrow-b-min,#controlKit .panel .arrow-b-sub-max,#controlKit .panel .arrow-b-sub-min{width:10px;height:100%;float:right}#controlKit .picker{pointer-events:auto;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border-radius:3px;-moz-border-radius:3px;background-color:#3b3b3b;font-family:Arial,sans-serif;font-size:11px;color:#fff;text-shadow:1px 1px #000;overflow:hidden;position:absolute;z-index:2147483631;width:360px;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;box-shadow:0 2px 2px rgba(0,0,0,.25)}#controlKit .picker canvas{vertical-align:bottom;cursor:pointer}#controlKit .picker .wrap{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:10px;float:left}#controlKit .picker .field-wrap{padding:3px}#controlKit .picker .slider-wrap{padding:3px 13px 3px 3px}#controlKit .picker .field-wrap,#controlKit .picker .input-wrap,#controlKit .picker .slider-wrap{height:auto;overflow:hidden;float:left}#controlKit .picker .input-wrap{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border:1px solid #242424;border-radius:2px;-moz-border-radius:2px;width:140px;float:right;padding:5px 10px 1px 0}#controlKit .picker .input-field{width:50%;float:right;margin-bottom:4px}#controlKit .picker .input-field .label{padding:8px 0 0;color:#878787;text-align:center;text-transform:uppercase;font-weight:700;text-shadow:1px 1px #1a1a1a;width:40%}#controlKit .picker .input-field .wrap{padding:0;width:60%;height:auto;float:right}#controlKit .picker .controls-wrap{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;width:100%;height:auto;float:right;padding:9px 0 0}#controlKit .picker .controls-wrap input[type=button]{float:right;
4width:65px;margin:0 0 0 10px}#controlKit .picker .color-contrast{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border:none;box-shadow:0 0 0 1px #1f1f1f inset;border-radius:2px;-moz-border-radius:2px;height:25px;padding:3px;width:80%;margin-bottom:4px;float:right}#controlKit .picker .color-contrast div{width:50%;height:100%;float:left}#controlKit .picker input[type=text]{padding:0;text-align:center;width:60%;float:right}#controlKit .picker .wrap .input-wrap:nth-of-type(3){border-bottom-left-radius:0;border-bottom-right-radius:0}#controlKit .picker .wrap .input-wrap:nth-of-type(4){border-top:none;border-top-left-radius:0;border-top-right-radius:0}#controlKit .picker .wrap .input-wrap:nth-of-type(4) .input-field{width:100%}#controlKit .picker .wrap .input-wrap:nth-of-type(4) .input-field .label{width:20%}#controlKit .picker .wrap .input-wrap:nth-of-type(4) input[type=text]{width:80%}#controlKit .picker .field-wrap,#controlKit .picker .slider-wrap{background:#1e2224;border:none;box-shadow:0 0 0 1px #1f1f1f inset;border-radius:2px;-moz-border-radius:2px;position:relative;margin-right:5px}#controlKit .picker .field-wrap .indicator,#controlKit .picker .slider-wrap .indicator{position:absolute;border:2px solid #fff;box-shadow:0 1px black,0 1px #000 inset;cursor:pointer}#controlKit .picker .field-wrap .indicator{width:8px;height:8px;left:50%;top:50%;border-radius:50%;-moz-border-radius:50%}#controlKit .picker .slider-wrap .indicator{width:14px;height:3px;border-radius:8px;-moz-border-radius:8px;left:1px;top:1px}#controlKit .picker .slider-wrap .indicator:after{content:'';width:0;height:0;border-top:4.5px solid transparent;border-bottom:4.5px solid transparent;border-right:4px solid #fff;float:right;position:absolute;top:-2px;left:19px}#controlKit .picker .slider-wrap .indicator:before{content:'';width:0;height:0;border-top:4.5px solid transparent;border-bottom:4.5px solid transparent;border-right:4px solid #000;float:right;position:absolute;top:-3px;left:19px}" 5};e.exports=i},{}],49:[function(t,e,n){function i(t,e,n){this.sender=t,this.type=e,this.data=n}e.exports=i},{}],50:[function(t,e,n){function i(){this._listeners=[]}i.prototype={addEventListener:function(t,e,n){this._listeners[t]=this._listeners[t]||[],this._listeners[t].push({obj:e,method:n})},dispatchEvent:function(t){var e=t.type;if(this.hasEventListener(e))for(var n,i,r=this._listeners[e],o=-1,a=r.length;++o<a;){if(n=r[o].obj,i=r[o].method,!n[i])throw n+" has no method "+i;n[i](t)}},removeEventListener:function(t,e,n){if(this.hasEventListener(t))for(var i=this._listeners[t],r=i.length;--r>-1;)if(i[r].obj==e&&i[r].method==n){i.splice(r,1),0==i.length&&delete this._listeners[t];break}},removeAllEventListeners:function(){this._listeners=[]},hasEventListener:function(t){return void 0!=this._listeners[t]&&null!=this._listeners[t]}},e.exports=i},{}],51:[function(t,e,n){var i={LEFT:"left",RIGHT:"right",TOP:"top",BOTTOM:"bottom",NONE:"none"};e.exports=i},{}],52:[function(t,e,n){function i(t,e,n){this._parentNode=t,this._targetNode=e,this._wrapHeight=n;var i=this._wrapNode=(new r).setStyleClass(a.ScrollWrap),l=this._node=(new r).setStyleClass(a.ScrollBar),h=this._trackNode=(new r).setStyleClass(a.ScrollBarTrack),c=this._thumbNode=(new r).setStyleClass(a.ScrollBarThumb);t.removeChild(e),t.addChild(i),t.addChildAt(l,0),i.addChild(e),l.addChild(h),h.addChild(c),this._mouseThumbOffset=0,this._scrollHeight=0,this._scrollUnit=0,this._scrollMin=0,this._scrollMax=0,c.setPositionY(o.SCROLLBAR_TRACK_PADDING),c.addEventListener(s.MOUSE_DOWN,this._onThumbDragStart.bind(this)),this._isValid=!1,this._enabled=!1;var u=l.getElement(),p=c.getElement(),d=this;this._onMouseWheel=function(t){var e=t.sender,n=e.getHoverElement();if(n==u||n==p){var i=.0125*d._scrollHeight;d._scroll(c.getPositionY()+e.getWheelDirection()*i*-1),t.data.preventDefault()}},this.addMouseListener()}var r=t("../document/Node"),o=t("../../component/Metric"),a=t("../document/CSS"),s=t("../document/DocumentEvent"),l=(t("../document/NodeEvent"),t("../document/Mouse"));i.prototype.update=function(){var t=this._targetNode,e=this._thumbNode,n=o.SCROLLBAR_TRACK_PADD
5ING,i=this._wrapHeight,r=t.getHeight(),a=i-2*n;e.setHeight(a);var s=i/r;if(this._isValid=!1,!(s>1)){var l=a*s;this._scrollHeight=a,this._scrollUnit=r-this._scrollHeight-2*n,this._scrollMin=n,this._scrollMax=n+a-l,e.setHeight(l),this._isValid=!0}},i.prototype._scroll=function(t){var e=this._scrollMin,n=this._scrollMax,i=Math.max(e,Math.min(t,n)),r=(i-e)/(n-e);this._thumbNode.setPositionY(i),this._targetNode.setPositionY(r*this._scrollUnit*-1)},i.prototype._onThumbDragStart=function(){if(this._isValid&&!this._enabled){var t=s.MOUSE_MOVE,e=s.MOUSE_UP,n=l.get(),i=this._trackNode.getPositionGlobalY();this._mouseThumbOffset=n.getY()-this._thumbNode.getPositionGlobalY();var r=this,o=function(){r._scroll(n.getY()-i-r._mouseThumbOffset)},a=function(){document.removeEventListener(t,o,!1),document.removeEventListener(e,a,!1)};document.addEventListener(t,o,!1),document.addEventListener(e,a,!1),this._scroll(n.getY()-i-r._mouseThumbOffset)}},i.prototype.enable=function(){this._enabled=!1,this._updateAppearance()},i.prototype.disable=function(){this._enabled=!0,this._updateAppearance()},i.prototype.reset=function(){this._scroll(0)},i.prototype._updateAppearance=function(){this._enabled?(this._node.setStyleProperty("display","none"),this._targetNode.setPositionY(0),this._thumbNode.setPositionY(o.SCROLLBAR_TRACK_PADDING)):this._node.setStyleProperty("display","block")},i.prototype.isValid=function(){return this._isValid},i.prototype.setWrapHeight=function(t){this._wrapHeight=t,this.update()},i.prototype.removeTargetNode=function(){return this._wrapNode.removeChild(this._targetNode)},i.prototype.removeMouseListener=function(){l.get().removeEventListener(s.MOUSE_WHEEL,this,"_onMouseWheel")},i.prototype.addMouseListener=function(){l.get().addEventListener(s.MOUSE_WHEEL,this,"_onMouseWheel")},i.prototype.removeFromParent=function(){var t=this._parentNode,e=this._node,n=this._targetNode;return e.removeChild(n),t.removeChild(this._wrapNode),t.removeChild(e),n},i.prototype.getWrapNode=function(){return this._wrapNode},i.prototype.getNode=function(){return this._node},i.prototype.getTargetNode=function(){return this._targetNode},e.exports=i},{"../../component/Metric":13,"../document/CSS":43,"../document/DocumentEvent":44,"../document/Mouse":45,"../document/Node":46,"../document/NodeEvent":47}],53:[function(t,e,n){function i(t,e){r.apply(this,arguments),e=e||{},e.height=e.height||null,e.enable=void 0===e.enable||e.enable,this._parent=t,this._height=e.height,this._enabled=e.enable,this._scrollBar=null,this._node=new o(o.LIST_ITEM),this._wrapNode=new o,this._listNode=new o(o.LIST),this._parent.getList().addChild(this._node)}var r=t("../core/event/EventDispatcher"),o=t("../core/document/Node"),a=t("../core/layout/ScrollBar");i.prototype=Object.create(r.prototype),i.prototype.constructor=i,i.prototype.addScrollWrap=function(){var t=this._wrapNode,e=this.getMaxHeight();this._scrollBar=new a(t,this._listNode,e),this.isEnabled()&&t.setHeight(e)},i.prototype.preventSelectDrag=function(){this._parent.preventSelectDrag(),this.hasScrollWrap()&&(this._wrapNode.getElement().scrollTop=0)},i.prototype.hasMaxHeight=function(){return null!=this._height},i.prototype.getMaxHeight=function(){return this._height},i.prototype.hasScrollWrap=function(){return null!=this._scrollBar},i.prototype.hasLabel=function(){return null!=this._lablNode},i.prototype.disable=function(){this._enabled=!1,this._updateAppearance()},i.prototype.enable=function(){this._enabled=!0,this._updateAppearance()},i.prototype.isDisabled=function(){return!this._enabled},i.prototype.isEnabled=function(){return this._enabled},i.prototype.getList=function(){return this._listNode},e.exports=i},{"../core/document/Node":46,"../core/event/EventDispatcher":50,"../core/layout/ScrollBar":52}],54:[function(t,e,n){function i(t,e){e=e||{},e.label=e.label||null,e.useLabels=e.useLabels||!0,e.enable=void 0===e.enable||e.enable,o.apply(this,arguments),this._components=[],this._subGroups=[];var n=this._node,i=this._wrapNode,r=this._listNode;n.setStyleClass(a.Group),i.setStyleClass(a.Wrap),r.setStyleClass(a.SubGroupList),i.addChild(r);var l=e.label;if(l){var h=new s,f=new s,m=new s(s.SPAN),g=this._indiNode=new s;h.setStyleClass(a.Head),f.setStyleClass(a.Wrap),m.setStyleClass(a.Label),g.setStyleClass(a.ArrowBMax),m.setProperty("innerHTML",l),h.addChild(g),f.addChild(m),h.addChild(f),n.addChild(h),h.addEventListener(u.MOUSE_DOWN,this._onHeadTrigger.bind(this)),this.addEventListener(d.GROUP_LIST_SIZE_CHANGE,t,"onGroupListSizeChange"),this._updateAppearance()}if(this.hasMaxHeight()&&this.addScrollWrap(),n.addChild(i),this.hasMaxHeight()){if(!l){var v=this._scrollBufferTop=new s;v.setStyleClass(a.ScrollBuffer),n.addChildAt(v,0)}var y=this._scrollBufferBottom=new s;y.setStyleClass(a.ScrollBuffer),n.addChild(y)}t=this._parent,t.addEventListener(p.PANEL_MOVE_BEGIN,this,"onPanelMoveBegin"),t.addEventListener(p.PANEL_MOVE,this,"onPanelMove"),t.addEventListener(p.PANEL_MOVE_END,this,"onPanelMoveEnd"),t.addEventListener(p.PANEL_HIDE,this,"onPanelHide"),t.addEventListener(p.PANEL_SHOW,this,"onPanelShow"),t.addEventListener(p.PANEL_SCROLL_WRAP_ADDED,this,"onPanelScrollWrapAdded"),t.addEventListener(p.PANEL_SCROLL_WRAP_REMOVED,this,"onPanelScrollWrapRemoved"),t.addEventListener(p.PANEL_SIZE_CHANGE,this,"onPanelSizeChange"),t.addEventListener(c.WINDOW_RESIZE,this,"onWindowResize"),this.addEventListener(d.GROUP_SIZE_CHANGE,t,"onGroupListSizeChange")}function r(t){return t instanceof f&&!(t instanceof m)&&!(t instanceof g)}var o=t("./AbstractGroup"),a=t("../core/document/CSS"),s=t("../core/document/Node"),l=t("./SubGroup"),h=t("../core/event/Event"),c=t("../core/document/DocumentEvent"),u=t("../core/document/NodeEvent"),p=t("./PanelEvent"),d=t("./GroupEvent"),f=t("../core/ObjectComponent"),m=t("../component/ValuePlotter"),g=t("../component/FunctionPlotter");i.prototype=Object.create(o.prototype),i.prototype.constructor=i,i.prototype.onPanelMoveBegin=function(){this.dispatchEvent(new h(this,p.PANEL_MOVE_BEGIN,null))},i.prototype.onPanelMove=function(){this.dispatchEvent(new h(this,p.PANEL_MOVE,null))},i.prototype.onPanelMoveEnd=function(){this.dispatchEvent(new h(this,p.PANEL_MOVE_END,null))},i.prototype.onPanelScrollWrapAdded=function(){this.dispatchEvent(new h(this,d.GROUP_SIZE_CHANGE,null))},i.prototype.onPanelScrollWrapRemoved=function(){this.dispatchEvent(new h(this,d.GROUP_SIZE_CHANGE,null))},i.prototype.onPanelHide=function(){this.dispatchEvent(new h(this,d.SUBGROUP_DISABLE,null))},i.prototype.onPanelShow=function(){this.dispatchEvent(new h(this,d.SUBGROUP_ENABLE,null))},i.prototype.onPanelSizeChange=function(){this.dispatchEvent(new h(this,d.GROUP_SIZE_CHANGE,null))},i.prototype.onWindowResize=function(t){this.dispatchEvent(t)},i.prototype.onSubGroupTrigger=function(){if(this._updateHeight(),this.hasMaxHeight()){var t=this._scrollBar,e=this._wrapNode,n=this._scrollBufferTop,i=this._scrollBufferBottom;
5t.update(),t.isValid()?(t.enable(),e.setHeight(this.getMaxHeight()),n&&n.setStyleProperty("display","block"),i&&i.setStyleProperty("display","block")):(t.disable(),e.setHeight(e.getChildAt(1).getHeight()),n&&n.setStyleProperty("display","none"),i&&i.setStyleProperty("display","none")),this.dispatchEvent(new h(this,d.GROUP_SIZE_CHANGE,null))}},i.prototype._onHeadTrigger=function(){this._enabled=!this._enabled,this._updateAppearance(),this.dispatchEvent(new h(this,d.GROUP_LIST_SIZE_CHANGE,null))},i.prototype.addComponent=function(){var t=arguments[0],e=Array.prototype.slice.call(arguments);e.shift(),e.unshift(this._getSubGroup());var n=Object.create(t.prototype);t.apply(n,e),this._components.push(n),this._updateHeight()},i.prototype._updateHeight=function(){this._getSubGroup().update(),this.dispatchEvent(new h(this,d.GROUP_SIZE_CHANGE,null)),this.hasMaxHeight()&&this._scrollBar.update()},i.prototype._updateAppearance=function(){var t=this._wrapNode,e=this._indiNode,n=this._scrollBar,i=this._scrollBufferTop,r=this._scrollBufferBottom;if(this.isDisabled())return t.setHeight(0),e&&e.setStyleClass(a.ArrowBMin),void(n&&(i&&i.setStyleProperty("display","none"),r&&r.setStyleProperty("display","none")));if(this.hasMaxHeight()){var o=this.getMaxHeight(),s=t.getChildAt(1).getHeight();t.setHeight(s<o?s:o),n.isValid()&&(i&&i.setStyleProperty("display","block"),r&&r.setStyleProperty("display","block"))}else t.deleteStyleProperty("height");e&&e.setStyleClass(a.ArrowBMax)},i.prototype.onGroupSizeUpdate=function(){this._updateAppearance(),this.hasMaxHeight()&&this._scrollBar.update()},i.prototype.addSubGroup=function(t){return this._subGroups.push(new l(this,t)),this._updateHeight(),this},i.prototype._getSubGroup=function(){var t=this._subGroups;return 0==t.length&&t.push(new l(this)),t[t.length-1]},i.prototype.getComponents=function(){return this._components},i.prototype.setData=function(t){for(var e,n,i=this._components,o=-1,a=0,s=i.length;++o<s;)e=i[o],r(e)&&(n=t[a++],e.setValue(n[Object.keys(n)[0]]))},i.prototype.getData=function(){for(var t,e=this._components,n=-1,i=e.length,o=[];++n<i;)t=e[n],r(t)&&o.push(t.getData());return o},e.exports=i},{"../component/FunctionPlotter":10,"../component/ValuePlotter":30,"../core/ObjectComponent":36,"../core/document/CSS":43,"../core/document/DocumentEvent":44,"../core/document/Node":46,"../core/document/NodeEvent":47,"../core/event/Event":49,"./AbstractGroup":53,"./GroupEvent":55,"./PanelEvent":58,"./SubGroup":59}],55:[function(t,e,n){var i={GROUP_SIZE_CHANGE:"groupSizeChange",GROUP_LIST_SIZE_CHANGE:"groupListSizeChange",GROUP_SIZE_UPDATE:"groupSizeUpdate",SUBGROUP_TRIGGER:"subGroupTrigger",SUBGROUP_ENABLE:"enableSubGroup",SUBGROUP_DISABLE:"disableSubGroup"};e.exports=i},{}],56:[function(t,e,n){var i={UPDATE_MENU:"updateMenu"};e.exports=i},{}],57:[function(t,e,n){function i(t,e){c.apply(this,arguments),this._parent=t,e=e||{},e.valign=e.valign||G,e.align=e.align||k,e.position=e.position||N,e.width=e.width||O,e.height=e.height||I,e.ratio=e.ratio||U,e.label=e.label||V,e.opacity=e.opacity||z,e.fixed=void 0===e.fixed?j:e.fixed,e.enable=void 0===e.enable?F:e.enable,e.vconstrain=void 0===e.vconstrain?X:e.vconstrain,e.dock&&(e.dock.align=e.dock.align||H.align,e.dock.resizable=e.dock.resizable||H.resizable),this._width=Math.max(D,Math.min(e.width,B)),this._height=e.height?Math.max(0,Math.min(e.height,window.innerHeight)):null,this._fixed=e.fixed,this._dock=e.dock,this._position=e.position,this._vConstrain=e.vconstrain,this._label=e.label,this._enabled=e.enable,this._groups=[];var n=this._width,i=this._fixed,o=this._dock,a=this._position,u=this._label,f=e.align,g=e.opacity,v=this._node=(new r).setStyleClass(s.Panel),y=this._headNode=(new r).setStyleClass(s.Head),_=(new r).setStyleClass(s.Menu),b=(new r).setStyleClass(s.Wrap),x=new r(r.SPAN).setStyleClass(s.Label),A=this._wrapNode=new r(r.DIV).setStyleClass(s.Wrap),w=this._listNode=new r(r.LIST).setStyleClass(s.GroupList);if(v.setWidth(n),x.setProperty("innerHTML",u),b.addChild(x),y.addChild(_),y.addChild(b),A.addChild(w),v.addChild(y),v.addChild(A),t.getNode().addChild(v),o){var E=o.align;E!=l.LEFT&&E!=l.RIGHT||(f=E,this._height=window.innerHeight),E==l.TOP||E==l.BOTTOM,v.setStyleProperty("float",f)}else{var T=this._menuHide=new r(r.INPUT_BUTTON);if(T.setStyleClass(s.ButtonMenuHide),T.addEventListener(d.MOUSE_DOWN,this._onMenuHideMouseDown.bind(this)),_.addChild(T),this._parent.panelsAreClosable()){var S=new r(r.INPUT_BUTTON);S.setStyleClass(s.ButtonMenuClose),S.addEventListener(d.MOUSE_DOWN,this.disable.bind(this)),_.addChild(S)}if(this.hasMaxHeight()&&this._addScrollWrap(),i){if(a){var M=a[0],C=a[1];0!=C&&v.setPositionY(C),0!=M&&(f==l.RIGHT?v.getElement().marginRight=M:v.setPositionX(M))}v.setStyleProperty("float",f)}
5else a?f==l.LEFT||f==l.TOP||f==l.BOTTOM?v.setPositionGlobal(a[0],a[1]):(v.setPositionGlobal(window.innerWidth-n-a[0],a[1]),this._position=v.getPosition()):this._position=v.getPosition(),this._mouseOffset=[0,0],v.setStyleProperty("position","absolute"),y.addEventListener(d.MOUSE_DOWN,this._onHeadDragStart.bind(this))}var P=this._parent,L=P.historyIsEnabled(),R=P.statesAreEnabled();(L||R)&&_.addChildAt(new r,0).setStyleClass(s.Wrap),L&&(this._menuUndo=_.getChildAt(0).addChild(new r(r.INPUT_BUTTON)).setStyleClass(s.ButtonMenuUndo).setProperty("value",h.get().getNumStates()).addEventListener(d.MOUSE_DOWN,function(){h.get().popState()}),P.addEventListener(m.UPDATE_MENU,this,"onUpdateMenu")),R&&(_.getChildAt(0).addChild(new r(r.INPUT_BUTTON)).setStyleClass(s.ButtonMenuLoad).setProperty("value","Load").addEventListener(d.MOUSE_DOWN,function(){t._loadState()}),_.getChildAt(0).addChild(new r(r.INPUT_BUTTON)).setStyleClass(s.ButtonMenuSave).setProperty("value","Save").addEventListener(d.MOUSE_DOWN,function(){t._saveState()})),(L||R)&&(y.addEventListener(d.MOUSE_OVER,function(){_.setStyleClass(s.MenuActive)}),y.addEventListener(d.MOUSE_OUT,function(){_.setStyleClass(s.Menu)})),1!=g&&0!=g&&v.setStyleProperty("opacity",g),window.addEventListener(p.WINDOW_RESIZE,this._onWindowResize.bind(this)),this._updateAppearance()}var r=t("../core/document/Node"),o=t("./Group"),a=t("../core/layout/ScrollBar"),s=t("../core/document/CSS"),l=t("../core/layout/LayoutMode"),h=t("../core/History"),c=t("../core/event/EventDispatcher"),u=t("../core/event/Event"),p=t("../core/document/DocumentEvent"),d=t("../core/document/NodeEvent"),f=t("./PanelEvent"),m=t("./MenuEvent"),g=t("../core/document/Mouse"),v=t("../component/StringInput"),y=t("../component/NumberInput"),_=t("../component/Range"),b=t("../component/Checkbox"),x=t("../component/Color"),A=t("../component/Button"),w=t("../component/Select"),E=t("../component/Slider"),T=t("../component/FunctionPlotter"),S=t("../component/Pad"),M=t("../component/ValuePlotter"),C=t("../component/NumberOutput"),P=t("../component/StringOutput"),L=t("../component/Canvas"),R=t("../component/SVG"),N=null,O=200,I=null,D=100,B=600,U=40,V="Control Panel",G=l.TOP,k=l.RIGHT,H={align:l.RIGHT,resizable:!0},F=!0,z=1,j=!0,X=!0;i.prototype=Object.create(c.prototype),i.prototype.constructor=i,i.prototype._onMenuHideMouseDown=function(){this._enabled=!this._enabled,this._updateAppearance()},i.prototype.onUpdateMenu=function(){this._menuUndo.setProperty("value",h.get().getNumStates())},i.prototype._onMenuUndoTrigger=function(){h.get().popState()},i.prototype._updateAppearance=function(){var t=this._node,e=this._headNode,n=this._menuHide;this._enabled?(t.setHeight(e.getHeight()+this._wrapNode.getHeight()),t.deleteStyleProperty("height"),n.setStyleClass(s.ButtonMenuHide),e.setStyleClass(s.Head),this.dispatchEvent(new u(this,f.PANEL_SHOW,null))):(e.getStyle().borderBottom="none",t.setHeight(e.getHeight()),n.setStyleClass(s.ButtonMenuShow),this.dispatchEvent(new u(this,f.PANEL_HIDE,null)))},i.prototype._onHeadDragStart=function(){var t=this._parent.getNode(),e=this._node,n=e.getPositionGlobal(),i=g.get().getPosition(),r=this._mouseOffset;r[0]=i[0]-n[0],r[1]=i[1]-n[1];var o=p.MOUSE_MOVE,a=p.MOUSE_UP,s=this,l=function(){s._updatePosition()},h=function(){document.removeEventListener(o,l,!1),document.removeEventListener(a,h,!1),s.dispatchEvent(new u(this,f.PANEL_MOVE_END,null))};t.removeChild(e),t.addChild(e),document.addEventListener(o,l,!1),document.addEventListener(a,h,!1),this.dispatchEvent(new u(this,f.PANEL_MOVE_BEGIN,null))},i.prototype._updatePosition=function(){var t=g.get().getPosition(),e=this._mouseOffset,n=this._position;n[0]=t[0]-e[0],n[1]=t[1]-e[1],this._constrainHeight(),this._constrainPosition(),this.dispatchEvent(new u(this,f.PANEL_MOVE,null))},i.prototype._onWindowResize=function(){if(this.isDocked()){var t=this._dock;if(t.align==l.RIGHT||t.align==l.LEFT){var e=window.innerHeight,n=this._listNode.getHeight(),i=this._headNode.getHeight();this._height=e,e-i>n?this._scrollBar.disable():this._scrollBar.enable(),this.dispatchEvent(new u(this,f.PANEL_SIZE_CHANGE))}}else this.isFixed()||this._constrainPosition();this._constrainHeight(),this.dispatchEvent(new u(this,p.WINDOW_RESIZE))},i.prototype._constrainPosition=function(){var t=this._node,e=window.innerWidth-t.getWidth(),n=window.innerHeight-t.getHeight(),i=this._position;i[0]=Math.max(0,Math.min(i[0],e)),i[1]=Math.max(0,Math.min(i[1],n)),t.setPositionGlobal(i[0],i[1])},i.prototype._constrainHeight=function(){if(this._vConstrain){var t,e=this.hasMaxHeight(),n=this.hasScrollWrap(),i=this._headNode,r=this._wrapNode,o=this._scrollBar,a=this.isDocked()?0:this.isFixed()?0:this._position[1],s=e?this.getMaxHeight():n?o.getTargetNode().getHeight():r.getHeight(),l=a+s,h=i.getHeight(),c=window.innerHeight,p=c-l-h;if(p<0){if(t=s+p,!n)return this._addScrollWrap(t),void this.dispatchEvent(new u(this,f.PANEL_SCROLL_WRAP_ADDED,null));o.setWrapHeight(t),r.setHeight(t)}else!e&&n&&(o.removeFromParent(),r.addChild(this._listNode),r.deleteStyleProperty("height"),this._scrollBar.removeMouseListener(),this._scrollBar=null,this.dispatchEvent(new u(this,f.PANEL_SCROLL_WRAP_REMOVED,null)))}},i.prototype.onGroupListSizeChange=function(){this.hasScrollWrap()&&this._updateScrollWrap(),this._constrainHeight()},i.prototype._updateScrollWrap=function(){var t=this._wrapNode,e=this._scrollBar,n=this.hasMaxHeight()?this.getMaxHeight():100,i=this._listNode.getHeight();
5t.setHeight(i<n?i:n),e.update(),e.isValid()?(e.enable(),t.setHeight(n)):(e.disable(),t.setHeight(t.getChildAt(1).getHeight()))},i.prototype._addScrollWrap=function(){var t=this._wrapNode,e=this._listNode,n=0==arguments.length?this.getMaxHeight():arguments[0];this._scrollBar=new a(t,e,n),this.isEnabled()&&t.setHeight(n)},i.prototype.hasScrollWrap=function(){return null!=this._scrollBar},i.prototype.preventSelectDrag=function(){this.hasScrollWrap()&&(this._wrapNode.getElement().scrollTop=0)},i.prototype.enable=function(){this._node.setStyleProperty("display","block"),this._enabled=!0,this._updateAppearance()},i.prototype.disable=function(){this._node.setStyleProperty("display","none"),this._enabled=!1,this._updateAppearance()},i.prototype.isEnabled=function(){return this._enabled},i.prototype.isDisabled=function(){return!this._enabled},i.prototype.hasMaxHeight=function(){return null!=this._height},i.prototype.getMaxHeight=function(){return this._height},i.prototype.isDocked=function(){return this._dock},i.prototype.isFixed=function(){return this._fixed},i.prototype.getGroups=function(){return this._groups},i.prototype.getNode=function(){return this._node},i.prototype.getList=function(){return this._listNode},i.prototype.getWidth=function(){return this._width},i.prototype.getPosition=function(){return this._position},i.prototype.getParent=function(){return this._parent},i.prototype.addGroup=function(t){var e=new o(this,t);return this._groups.push(e),this.isDocked()&&this.dispatchEvent(new u(this,f.PANEL_SIZE_CHANGE)),this},i.prototype.addSubGroup=function(t){var e=this._groups;return 0==e.length&&this.addGroup(),e[e.length-1].addSubGroup(t),this},i.prototype._addComponent=function(){var t,e=this._groups;return 0==e.length&&e.push(new o(this)),t=e[e.length-1],t.addComponent.apply(t,arguments),this},i.prototype.addStringInput=function(t,e,n){return this._addComponent(v,t,e,n)},i.prototype.addNumberInput=function(t,e,n){return this._addComponent(y,t,e,n)},i.prototype.addRange=function(t,e,n){return this._addComponent(_,t,e,n)},i.prototype.addCheckbox=function(t,e,n){return this._addComponent(b,t,e,n)},i.prototype.addColor=function(t,e,n){return this._addComponent(x,t,e,n)},i.prototype.addButton=function(t,e,n){return this._addComponent(A,t,e,n)},i.prototype.addSelect=function(t,e,n){return this._addComponent(w,t,e,n)},i.prototype.addSlider=function(t,e,n,i){return this._addComponent(E,t,e,n,i)},i.prototype.addFunctionPlotter=function(t,e,n){return this._addComponent(T,t,e,n)},i.prototype.addPad=function(t,e,n){return this._addComponent(S,t,e,n)},i.prototype.addValuePlotter=function(t,e,n){return this._addComponent(M,t,e,n)},i.prototype.addNumberOutput=function(t,e,n){return this._addComponent(C,t,e,n)},i.prototype.addStringOutput=function(t,e,n){return this._addComponent(P,t,e,n)},i.prototype.addCanvas=function(t){return this._addComponent(L,t)},i.prototype.addSVG=function(t){return this._addComponent(R,t)},i.prototype.setData=function(t){for(var e=this._groups,n=-1,i=e.length;++n<i;)e[n].setData(t[n])},i.prototype.getData=function(){for(var t=this._groups,e=-1,n=t.length,i=[];++e<n;)i.push(t[e].getData());return i},e.exports=i},{"../component/Button":4,"../component/Canvas":6,"../component/Checkbox":7,"../component/Color":8,"../component/FunctionPlotter":10,"../component/NumberInput":14,"../component/NumberOutput":16,"../component/Pad":19,"../component/Range":22,"../component/SVG":23,"../component/Select":25,"../component/Slider":26,"../component/StringInput":28,"../component/StringOutput":29,"../component/ValuePlotter":30,"../core/History":34,"../core/document/CSS":43,"../core/document/DocumentEvent":44,"../core/document/Mouse":45,"../core/document/Node":46,"../core/document/NodeEvent":47,"../core/event/Event":49,"../core/event/EventDispatcher":50,"../core/layout/LayoutMode":51,"../core/layout/ScrollBar":52,"./Group":54,"./MenuEvent":56,"./PanelEvent":58}],58:[function(t,e,n){var i={PANEL_MOVE_BEGIN:"panelMoveBegin",PANEL_MOVE:"panelMove",PANEL_MOVE_END:"panelMoveEnd",PANEL_SHOW:"panelShow",PANEL_HIDE:"panelHide",PANEL_SCROLL_WRAP_ADDED:"panelScrollWrapAdded",PANEL_SCROLL_WRAP_REMOVED:"panelScrollWrapRemoved",PANEL_SIZE_CHANGE:"panelSizeChange"};e.exports=i},{}],59:[function(t,e,n){function i(t,e){e=e||{},e.label=e.label||null,e.useLabels=void 0===e.useLabels||e.useLabels,r.apply(this,arguments);var n=this._node,i=this._wrapNode,s=this._listNode;n.setStyleClass(a.SubGroup),i.setStyleClass(a.Wrap),i.addChild(s),n.addChild(i),this._useLabels=e.useLabels;var u=e.label;if(u&&0!=u.length&&"none"!=u){var p=this._headNode=new o,d=new o,f=new o(o.SPAN);p.setStyleClass(a.Head),d.setStyleClass(a.Wrap),f.setStyleClass(a.Label),f.setProperty("innerHTML",u),d.addChild(f),p.addChild(d);var m=this._indiNode=new o;m.setStyleClass(a.ArrowBSubMax),p.addChildAt(m,0),n.addChildAt(p,0),this.addEventListener(c.SUBGROUP_TRIGGER,this._parent,"onSubGroupTrigger"),p.addEventListener(l.MOUSE_DOWN,this._onHeadMouseDown.bind(this)),this._updateAppearance()}this.hasMaxHeight()&&this.addScrollWrap(),this._parent.addEventListener(c.SUBGROUP_ENABLE,this,"onEnable"),this._parent.addEventListener(c.SUBGROUP_DISABLE,this,"onDisable"),this._parent.addEventListener(h.PANEL_MOVE_END,this,"onPanelMoveEnd"),this._parent.addEventListener(c.GROUP_SIZE_CHANGE,this,"onGroupSizeChange"),this._parent.addEventListener(h.PANEL_SIZE_CHANGE,this,"onPanelSizeChange"),this._parent.addEventListener(l.WINDOW_RESIZE,this,"onWindowResize"),this.addEventListener(c.GROUP_SIZE_UPDATE,this._parent,"onGroupSizeUpdate")}var r=t("./AbstractGroup"),o=t("../core/document/Node"),a=t("../core/document/CSS"),s=t("../core/event/Event"),l=t("../core/document/DocumentEvent"),h=t("./PanelEvent"),c=t("./GroupEvent"),u=t("../core/ComponentEvent");i.prototype=Object.create(r.prototype),i.prototype.constructor=i,i.prototype._onHeadMouseDown=function(){this._enabled=!this._enabled,this._onTrigger();var t=l.MOUSE_UP,e=this,n=function(){e._onTrigger(),document.removeEventListener(t,n)};document.addEventListener(t,n)},i.prototype._onTrigger=function(){this._updateAppearance(),this.dispatchEvent(new s(this,c.SUBGROUP_TRIGGER,null))},i.prototype._updateAppearance=function(){this.isDisabled()?(this._wrapNode.setHeight(0),this.hasLabel()&&(this._headNode.setStyleClass(a.HeadInactive),this._indiNode.setStyleClass(a.ArrowBSubMin))):(this.hasMaxHeight()?this._wrapNode.setHeight(this.getMaxHeight()):this._wrapNode.deleteStyleProperty("height"),this.hasLabel()&&(this._headNode.setStyleClass(a.Head),this._indiNode.setStyleClass(a.ArrowBSubMax)))},i.prototype.update=function(){this.hasMaxHeight()&&this._scrollBar.update(
5)},i.prototype.onComponentSelectDrag=function(){this.preventSelectDrag()},i.prototype.onEnable=function(){this.isDisabled()||this.dispatchEvent(new s(this,u.ENABLE,null))},i.prototype.onDisable=function(){this.isDisabled()||this.dispatchEvent(new s(this,u.DISABLE,null))},i.prototype.onGroupSizeChange=function(){this.dispatchEvent(new s(this,c.GROUP_SIZE_CHANGE,null))},i.prototype.onGroupSizeUpdate=function(){this.dispatchEvent(new s(this,c.GROUP_SIZE_UPDATE,null))},i.prototype.onPanelMoveEnd=function(){this.dispatchEvent(new s(this,h.PANEL_MOVE_END,null))},i.prototype.onPanelSizeChange=function(){this._updateAppearance()},i.prototype.onWindowResize=function(t){this.dispatchEvent(t)},i.prototype.hasLabel=function(){return null!=this._headNode},i.prototype.addComponentNode=function(t){this._listNode.addChild(t)},i.prototype.usesLabels=function(){return this._useLabels},e.exports=i},{"../core/ComponentEvent":32,"../core/document/CSS":43,"../core/document/DocumentEvent":44,"../core/document/Node":46,"../core/event/Event":49,"./AbstractGroup":53,"./GroupEvent":55,"./PanelEvent":58}],60:[function(t,e,n){e.exports=function(t){"string"==typeof t&&(t=[t]);for(var e=[].slice.call(arguments,1),n=[],i=0;i<t.length-1;i++)n.push(t[i],e[i]||"");return n.push(t[i]),n.join("")}},{}],61:[function(t,e,n){(function(t){var n="undefined"!=typeof e&&e.exports&&"undefined"!=typeof t?t:this||window;(n._gsQueue||(n._gsQueue=[])).push(function(){"use strict";n._gsDefine("TweenMax",["core.Animation","core.SimpleTimeline","TweenLite"],function(t,e,n){var i=function(t){var e,n=[],i=t.length;for(e=0;e!==i;n.push(t[e++]));return n},r=function(t,e,n){var i,r,o=t.cycle;for(i in o)r=o[i],t[i]="function"==typeof r?r(n,e[n]):r[n%r.length];delete t.cycle},o=function(t,e,i){n.call(this,t,e,i),this._cycle=0,this._yoyo=this.vars.yoyo===!0||!!this.vars.yoyoEase,this._repeat=this.vars.repeat||0,this._repeatDelay=this.vars.repeatDelay||0,this._repeat&&this._uncache(!0),this.render=o.prototype.render},a=1e-10,s=n._internals,l=s.isSelector,h=s.isArray,c=o.prototype=n.to({},.1,{}),u=[];
vendor: 4,338 bytes, lines 5-6
5o.version="1.20.4",c.constructor=o,c.kill()._gc=!1,o.killTweensOf=o.killDelayedCallsTo=n.killTweensOf,o.getTweensOf=n.getTweensOf,o.lagSmoothing=n.lagSmoothing,o.ticker=n.ticker,o.render=n.render,c.invalidate=function(){return this._yoyo=this.vars.yoyo===!0||!!this.vars.yoyoEase,this._repeat=this.vars.repeat||0,this._repeatDelay=this.vars.repeatDelay||0,this._yoyoEase=null,this._uncache(!0),n.prototype.invalidate.call(this)},c.updateTo=function(t,e){var i,r=this.ratio,o=this.vars.immediateRender||t.immediateRender;e&&this._startTime<this._timeline._time&&(this._startTime=this._timeline._time,this._uncache(!1),this._gc?this._enabled(!0,!1):this._timeline.insert(this,this._startTime-this._delay));for(i in t)this.vars[i]=t[i];if(this._initted||o)if(e)this._initted=!1,o&&this.render(0,!0,!0);else if(this._gc&&this._enabled(!0,!1),this._notifyPluginsOfEnabled&&this._firstPT&&n._onPluginEvent("_onDisable",this),this._time/this._duration>.998){var a=this._totalTime;this.render(0,!0,!1),this._initted=!1,this.render(a,!0,!1)}else if(this._initted=!1,this._init(),this._time>0||o)for(var s,l=1/(1-r),h=this._firstPT;h;)s=h.s+h.c,h.c*=l,h.s=s-h.c,h=h._next;return this},c.render=function(t,e,i){this._initted||0===this._duration&&this.vars.repeat&&this.invalidate();var r,o,l,h,c,u,p,d,f,m=this._dirty?this.totalDuration():this._totalDuration,g=this._time,v=this._totalTime,y=this._cycle,_=this._duration,b=this._rawPrevTime;if(t>=m-1e-7&&t>=0?(this._totalTime=m,this._cycle=this._repeat,this._yoyo&&0!==(1&this._cycle)?(this._time=0,this.ratio=this._ease._calcEnd?this._ease.getRatio(0):0):(this._time=_,this.ratio=this._ease._calcEnd?this._ease.getRatio(1):1),this._reversed||(r=!0,o="onComplete",i=i||this._timeline.autoRemoveChildren),0===_&&(this._initted||!this.vars.lazy||i)&&(this._startTime===this._timeline._duration&&(t=0),(b<0||t<=0&&t>=-1e-7||b===a&&"isPause"!==this.data)&&b!==t&&(i=!0,b>a&&(o="onReverseComplete")),this._rawPrevTime=d=!e||t||b===t?t:a)):t<1e-7?(this._totalTime=this._time=this._cycle=0,this.ratio=this._ease._calcEnd?this._ease.getRatio(0):0,(0!==v||0===_&&b>0)&&(o="onReverseComplete",r=this._reversed),t<0&&(this._active=!1,0===_&&(this._initted||!this.vars.lazy||i)&&(b>=0&&(i=!0),this._rawPrevTime=d=!e||t||b===t?t:a)),this._initted||(i=!0)):(this._totalTime=this._time=t,0!==this._repeat&&(h=_+this._repeatDelay,this._cycle=this._totalTime/h>>0,0!==this._cycle&&this._cycle===this._totalTime/h&&v<=t&&this._cycle--,this._time=this._totalTime-this._cycle*h,this._yoyo&&0!==(1&this._cycle)&&(this._time=_-this._time,f=this._yoyoEase||this.vars.yoyoEase,f&&(this._yoyoEase||(f!==!0||this._initted?this._yoyoEase=f=f===!0?this._ease:f instanceof Ease?f:Ease.map[f]:(f=this.vars.ease,this._yoyoEase=f=f?f instanceof Ease?f:"function"==typeof f?new Ease(f,this.vars.easeParams):Ease.map[f]||n.defaultEase:n.defaultEase)),this.ratio=f?1-f.getRatio((_-this._time)/_):0)),this._time>_?this._time=_:this._time<0&&(this._time=0)),this._easeType&&!f?(c=this._time/_,u=this._easeType,p=this._easePower,(1===u||3===u&&c>=.5)&&(c=1-c),3===u&&(c*=2),1===p?c*=c:2===p?c*=c*c:3===p?c*=c*c*c:4===p&&(c*=c*c*c*c),1===u?this.ratio=1-c:2===u?this.ratio=c:this._time/_<.5?this.ratio=c/2:this.ratio=1-c/2):f||(this.ratio=this._ease.getRatio(this._time/_))),g===this._time&&!i&&y===this._cycle)return void(v!==this._totalTime&&this._onUpdate&&(e||this._callback("onUpdate")));if(!this._initted){if(this._init(),!this._initted||this._gc)return;if(!i&&this._firstPT&&(this.vars.lazy!==!1&&this._duration||this.vars.lazy&&!this._duration))return this._time=g,this._totalTime=v,this._rawPrevTime=b,this._cycle=y,s.lazyTweens.push(this),void(this._lazy=[t,e]);!this._time||r||f?r&&this._ease._calcEnd&&!f&&(this.ratio=this._ease.getRatio(0===this._time?0:1)):this.ratio=this._ease.getRatio(this._time/_)}for(this._lazy!==!1&&(this._lazy=!1),this._active||!this._paused&&this._time!==g&&t>=0&&(this._active=!0),0===v&&(2===this._initted&&t>0&&this._init(), 6this._startAt&&(t>=0?this._startAt.render(t,!0,i):o||(o="_dummyGS")),this.vars.onStart&&(0===this._totalTime&&0!==_||e||this._callback("onStart"))),l=this._firstPT;l;)l.f?l.t[l.p](l.c*this.ratio+l.s):l.t[l.p]=l.c*this.ratio+l.s,l=l._next;this._onUpdate&&(t<0&&this._startAt&&this._startTime&&this._startAt.render(t,!0,i),e||(this._totalTime!==v||o)&&this._callback("onUp
6date")),this._cycle!==y&&(e||this._gc||this.vars.onRepeat&&this._callback("onRepeat")),o&&(this._gc&&!i||(t<0&&this._startAt&&!this._onUpdate&&this._startTime&&this._startAt.render(t,!0,i),r&&(this._timeline.autoRemoveChildren&&this._enabled(!1,!1),this._active=!1),!e&&this.vars[o]&&this._callback(o),0===_&&this._rawPrevTime===a&&d!==a&&(this._rawPrevTime=0)))},o.to=function(t,e,n){return new o(t,e,n)},o.from=function(t,e,n){return n.runBackwards=!0,n.immediateRender=0!=n.immediateRender,new o(t,e,n)},o.fromTo=function(t,e,n,i){return i.startAt=n,i.immediateRender=0!=i.immediateRender&&0!=n.immediateRender,new o(t,e,i)},o.staggerTo=o.allTo=function(t,e,a,s,c,p,d){s=s||0;var f,m,g,v,y=0,_=[],b=function(){a.onComplete&&a.onComplete.apply(a.onCompleteScope||this,arguments),c.apply(d||a.callbackScope||this,p||u)},x=a.cycle,A=a.startAt&&a.startAt.cycle;for(h(t)||("string"==typeof t&&(t=n.selector(t)||t),l(t)&&(t=i(t))),t=t||[],s<0&&(t=i(t),t.reverse(),s*=-1),f=t.length-1,g=0;g<=f;g++){m={};for(v in a)m[v]=a[v];if(x&&(r(m,t,g),null!=m.duration&&(e=m.duration,delete m.duration)),A){A=m.startAt={};for(v in a.startAt)A[v]=a.startAt[v];r(m.startAt,t,g)}m.delay=y+(m.delay||0),g===f&&c&&(m.onComplete=b),_[g]=new o(t[g],e,m),y+=s}return _},o.staggerFrom=o.allFrom=function(t,e,n,i,r,a,s){return n.runBackwards=!0,n.immediateRender=0!=n.immediateRender,o.staggerTo(t,e,n,i,r,a,s)},o.staggerFromTo=o.allFromTo=function(t,e,n,i,r,a,s,l){return i.startAt=n,i.immediateRender=0!=i.immediateRender&&0!=n.immediateRender,o.staggerTo(t,e,i,r,a,s,l)},o.delayedCall=function(t,e,n,i,r){return new o(e,0,{delay:t,onComplete:e,onCompleteParams:n,callbackScope:i,onReverseComplete:e,onReverseCompleteParams:n,immediateRender:!1,useFrames:r,overwrite:0})},o.set=function(t,e){return new o(t,0,e)},o.isTweening=function(t){return n.getTweensOf(t,!0).length>0};var p=function(t,e){for(var i=[],r=0,o=t._first;o;)o instanceof n?i[r++]=o:(e&&(i[r++]=o),i=i.concat(p(o,e)),r=i.length),o=o._next;return i},d=o.getAllTweens=function(e){return p(t._rootTimeline,e).concat(p(t._rootFramesTimeline,e))};o.killAll=function(t,n,i,r){null==n&&(n=!0),null==i&&(i=!0);var o,a,s,l=d(0!=r),h=l.length,c=n&&i&&r;for(s=0;s<h;s++)a=l[s],(c||a instanceof e||(o=a.target===a.vars.onComplete)&&i||n&&!o)&&(t?a.totalTime(a._reversed?0:a.totalDuration()):a._enabled(!1,!1))},o.killChildTweensOf=function(t,e){if(null!=t){var r,a,c,u,p,d=s.tweenLookup;if("string"==typeof t&&(t=n.selector(t)||t),l(t)&&(t=i(t)),h(t))for(u=t.length;--u>-1;)o.killChildTweensOf(t[u],e);else{r=[];for(c in d)for(a=d[c].target.parentNode;a;)a===t&&(r=r.concat(d[c].tweens)),a=a.parentNode;for(p=r.length,u=0;u<p;u++)e&&r[u].totalTime(r[u].totalDuration()),r[u]._enabled(!1,!1)}}};var f=function(t,n,i,r){n=n!==!1,i=i!==!1,r=r!==!1;for(var o,a,s=d(r),l=n&&i&&r,h=s.length;--h>-1;)a=s[h],(l||a instanceof e||(o=a.target===a.vars.onComplete)&&i||n&&!o)&&a.paused(t)};return o.pauseAll=function(t,e,n){f(!0,t,e,n)},o.resumeAll=function(t,e,n){f(!1,t,e,n)},o.globalTimeScale=function(e){var i=t._rootTimeline,r=n.ticker.time;return arguments.length?(e=e||a,i._startTime=r-(r-i._startTime)*i._timeScale/e,i=t._rootFramesTimeline,r=n.ticker.frame,i._startTime=r-(r-i._startTime)*i._timeScale/e,i._timeScale=t._rootTimeline._timeScale=e,e):i._timeScale},c.progress=function(t,e){return arguments.length?this.totalTime(this.duration()*(this._yoyo&&0!==(1&this._cycle)?1-t:t)+this._cycle*(this._duration+this._repeatDelay),e):this._time/this.duration()},c.totalProgress=function(t,e){return arguments.length?this.totalTime(this.totalDuration()*t,e):this._totalTime/this.totalDuration()},c.time=function(t,e){return arguments.length?(this._dirty&&this.totalDuration(),t>this._duration&&(t=this._duration),this._yoyo&&0!==(1&this._cycle)?t=this._duration-t+this._cycle*(this._duration+this._repeatDelay):0!==this._repeat&&(t+=this._cycle*(this._duration+this._repeatDelay)),this.totalTime(t,e)):this._time},c.duration=function(e){return arguments.length?t.prototype.duration.call(this,e):this._duration},c.totalDuration=function(t){return arguments.length?this._repeat===-1?this:this.duration((t-this._repeat*this._repeatDelay)/(this._repeat+1)):(this._dirty&&(this._totalDuration=this._repeat===-1?999999999999:this._duration*(this._repeat+1)+this._repeatDelay*this._repeat,this._dirty=!1),this._totalDuration)},c.repeat=function(t){return arguments.length?(this._repeat=t,this._uncache(!0)):this._repeat},c.repeatDelay=function(t){return arguments.length?(this._repeatDelay=t,this._uncache(!0)):this._repeatDelay},c.yoyo=function(t){return arguments.length?(this._yoyo=t,this):this._yoyo},o},!0),n._gsDefine("TimelineLite",["core.Animation","core.SimpleTimeline","TweenLite"],function(t,e,
vendor: 8,448 bytes, line 6
6i){var r=function(t){e.call(this,t),this._labels={},this.autoRemoveChildren=this.vars.autoRemoveChildren===!0,this.smoothChildTiming=this.vars.smoothChildTiming===!0,this._sortChildren=!0,this._onUpdate=this.vars.onUpdate;var n,i,r=this.vars;for(i in r)n=r[i],h(n)&&n.join("").indexOf("{self}")!==-1&&(r[i]=this._swapSelfInParams(n));h(r.tweens)&&this.add(r.tweens,0,r.align,r.stagger)},o=1e-10,a=i._internals,s=r._internals={},l=a.isSelector,h=a.isArray,c=a.lazyTweens,u=a.lazyRender,p=n._gsDefine.globals,d=function(t){var e,n={};for(e in t)n[e]=t[e];return n},f=function(t,e,n){var i,r,o=t.cycle;for(i in o)r=o[i],t[i]="function"==typeof r?r(n,e[n]):r[n%r.length];delete t.cycle},m=s.pauseCallback=function(){},g=function(t){var e,n=[],i=t.length;for(e=0;e!==i;n.push(t[e++]));return n},v=r.prototype=new e;return r.version="1.20.4",v.constructor=r,v.kill()._gc=v._forcingPlayhead=v._hasPause=!1,v.to=function(t,e,n,r){var o=n.repeat&&p.TweenMax||i;return e?this.add(new o(t,e,n),r):this.set(t,n,r)},v.from=function(t,e,n,r){return this.add((n.repeat&&p.TweenMax||i).from(t,e,n),r)},v.fromTo=function(t,e,n,r,o){var a=r.repeat&&p.TweenMax||i;return e?this.add(a.fromTo(t,e,n,r),o):this.set(t,r,o)},v.staggerTo=function(t,e,n,o,a,s,h,c){var u,p,m=new r({onComplete:s,onCompleteParams:h,callbackScope:c,smoothChildTiming:this.smoothChildTiming}),v=n.cycle;for("string"==typeof t&&(t=i.selector(t)||t),t=t||[],l(t)&&(t=g(t)),o=o||0,o<0&&(t=g(t),t.reverse(),o*=-1),p=0;p<t.length;p++)u=d(n),u.startAt&&(u.startAt=d(u.startAt),u.startAt.cycle&&f(u.startAt,t,p)),v&&(f(u,t,p),null!=u.duration&&(e=u.duration,delete u.duration)),m.to(t[p],e,u,p*o);return this.add(m,a)},v.staggerFrom=function(t,e,n,i,r,o,a,s){return n.immediateRender=0!=n.immediateRender,n.runBackwards=!0,this.staggerTo(t,e,n,i,r,o,a,s)},v.staggerFromTo=function(t,e,n,i,r,o,a,s,l){return i.startAt=n,i.immediateRender=0!=i.immediateRender&&0!=n.immediateRender,this.staggerTo(t,e,i,r,o,a,s,l)},v.call=function(t,e,n,r){return this.add(i.delayedCall(0,t,e,n),r)},v.set=function(t,e,n){return n=this._parseTimeOrLabel(n,0,!0),null==e.immediateRender&&(e.immediateRender=n===this._time&&!this._paused),this.add(new i(t,0,e),n)},r.exportRoot=function(t,e){t=t||{},null==t.smoothChildTiming&&(t.smoothChildTiming=!0);var n,o,a,s,l=new r(t),h=l._timeline;for(null==e&&(e=!0),h._remove(l,!0),l._startTime=0,l._rawPrevTime=l._time=l._totalTime=h._time,a=h._first;a;)s=a._next,e&&a instanceof i&&a.target===a.vars.onComplete||(o=a._startTime-a._delay,o<0&&(n=1),l.add(a,o)),a=s;return h.add(l,0),n&&l.totalDuration(),l},v.add=function(n,o,a,s){var l,c,u,p,d,f;if("number"!=typeof o&&(o=this._parseTimeOrLabel(o,0,!0,n)),!(n instanceof t)){if(n instanceof Array||n&&n.push&&h(n)){for(a=a||"normal",s=s||0,l=o,c=n.length,u=0;u<c;u++)h(p=n[u])&&(p=new r({tweens:p})),this.add(p,l),"string"!=typeof p&&"function"!=typeof p&&("sequence"===a?l=p._startTime+p.totalDuration()/p._timeScale:"start"===a&&(p._startTime-=p.delay())),l+=s;return this._uncache(!0)}if("string"==typeof n)return this.addLabel(n,o);if("function"!=typeof n)throw"Cannot add "+n+" into the timeline; it is not a tween, timeline, function, or string.";n=i.delayedCall(0,n)}if(e.prototype.add.call(this,n,o),n._time&&n.render((this.rawTime()-n._startTime)*n._timeScale,!1,!1),(this._gc||this._time===this._duration)&&!this._paused&&this._duration<this.duration())for(d=this,f=d.rawTime()>n._startTime;d._timeline;)f&&d._timeline.smoothChildTiming?d.totalTime(d._totalTime,!0):d._gc&&d._enabled(!0,!1),d=d._timeline;return this},v.remove=function(e){if(e instanceof t){this._remove(e,!1);var n=e._timeline=e.vars.useFrames?t._rootFramesTimeline:t._rootTimeline;return e._startTime=(e._paused?e._pauseTime:n._time)-(e._reversed?e.totalDuration()-e._totalTime:e._totalTime)/e._timeScale,this}if(e instanceof Array||e&&e.push&&h(e)){for(var i=e.length;--i>-1;)this.remove(e[i]);return this}return"string"==typeof e?this.removeLabel(e):this.kill(null,e)},v._remove=function(t,n){e.prototype._remove.call(this,t,n);var i=this._last;return i?this._time>this.duration()&&(this._time=this._duration,this._totalTime=this._totalDuration):this._time=this._totalTime=this._duration=this._totalDuration=0,this},v.append=function(t,e){return this.add(t,this._parseTimeOrLabel(null,e,!0,t))},v.insert=v.insertMultiple=function(t,e,n,i){return this.add(t,e||0,n,i)},v.appendMultiple=function(t,e,n,i){return this.add(t,this._parseTimeOrLabel(null,e,!0,t),n,i)},v.addLabel=function(t,e){return this._labels[t]=this._parseTimeOrLabel(e),this},v.addPause=function(t,e,n,r){var o=i.delayedCall(0,m,n,r||this);return o.vars.onComplete=o.vars.onReverseComplete=e,o.data="isPause",this._hasPause=!0,this.add(o,t)},v.removeLabel=function(t){return delete this._labels[t],this},v.getLabelTime=function(t){return null!=this._labels[t]?this._labels[t]:-1},v._parseTimeOrLabel=function(e,n,i,r){var o,a;if(r instanceof t&&r.timeline===this)this.remove(r);else if(r&&(r instanceof Array||r.push&&h(r)))for(a=r.length;--a>-1;)r[a]instanceof t&&r[a].timeline===this&&this.remove(r[a]);if(o="number"!=typeof e||n?this.duration()>99999999999?this.recent().endTime(!1):this._duration:0,"string"==typeof n)return this._parseTimeOrLabel(n,i&&"number"==typeof e&&null==this._labels[n]?e-o:0,i);if(n=n||0,"string"!=typeof e||!isNaN(e)&&null==this._labels[e])null==e&&(e=o);else{if(a=e.indexOf("="),a===-1)return null==this._labels[e]?i?this._labels[e]=o+n:n:this._labels[e]+n;n=parseInt(e.charAt(a-1)+"1",10)*Number(e.substr(a+1)),e=a>1?this._parseTimeOrLabel(e.substr(0,a-1),0,i):o}return Number(e)+n},v.seek=function(t,e){return this.totalTime("number"==typeof t?t:this._parseTimeOrLabel(t),e!==!1)},v.stop=function(){return this.paused(!0)},v.gotoAndPlay=function(t,e){return this.play(t,e)},v.gotoAndStop=function(t,e){return this.pause(t,e)},v.render=function(t,e,n){this._gc&&this._enabled(!0,!1);var i,r,a,s,l,h,p,d=this._time,f=this._dirty?this.totalDuration():this._totalDuration,m=this._startTime,g=this._timeScale,v=this._paused;if(d!==this._time&&(t+=this._time-d),t>=f-1e-7&&t>=0)this._totalTime=this._time=f,this._reversed||this._hasPausedChild()||(r=!0,s="onComplete",l=!!this._timeline.autoRemoveChildren,0===this._duration&&(t<=0&&t>=-1e-7||this._rawPrevTime<0||this._rawPrevTime===o)&&this._rawPrevTime!==t&&this._first&&(l=!0,this._rawPrevTime>o&&(s="onReverseComplete"))),this._rawPrevTime=this._duration||!e||t||this._rawPrevTime===t?t:o,t=f+1e-4;else if(t<1e-7)if(this._totalTime=this._time=0,(0!==d||0===this._duration&&this._rawPrevTime!==o&&(this._rawPrevTime>0||t<0&&this._rawPrevTime>=0))&&(s="onReverseComplete",r=this._reversed),t<0)this._active=!1,this._timeline.autoRemoveChildren&&this._reversed?(l=r=!0,s="onReverseComplete"):this._rawPrevTime>=0&&this._first&&(l=!0),this._rawPrevTime=t;else{if(this._rawPrevTime=this._duration||!e||t||this._rawPrevTime===t?t:o,0===t&&r)for(i=this._first;i&&0===i._startTime;)i._duration||(r=!1),i=i._next;t=0,this._initted||(l=!0)}else{if(this._hasPause&&!this._forcingPlayhead&&!e){if(t>=d)for(i=this._first;i&&i._startTime<=t&&!h;)i._duration||"isPause"!==i.data||i.ratio||0===i._startTime&&0===this._rawPrevTime||(h=i),i=i._next;else for(i=this._last;i&&i._startTime>=t&&!h;)i._duration||"isPause"===i.data&&i._rawPrevTime>0&&(h=i),i=i._prev;h&&(this._time=t=h._startTime,this._totalTime=t+this._cycle*(this._totalDuration+this._repeatDelay))}this._totalTime=this._time=this._rawPrevTime=t}if(this._time!==d&&this._first||n||l||h){if(this._initted||(this._initted=!0),this._active||!this._paused&&this._time!==d&&t>0&&(this._active=!0),0===d&&this.vars.onStart&&(0===this._time&&this._duration||e||this._callback("onStart")),p=this._time,p>=d)for(i=this._first;i&&(a=i._next,p===this._time&&(!this._paused||v));)(i._active||i._startTime<=p&&!i._paused&&!i._gc)&&(h===i&&this.pause(),i._reversed?i.render((i._dirty?i.totalDuration():i._totalDuration)-(t-i._startTime)*i._timeScale,e,n):i.render((t-i._startTime)*i._timeScale,e,n)),i=a;else for(i=this._last;i&&(a=i._prev,p===this._time&&(!this._paused||v));){if(i._active||i._startTime<=d&&!i._paused&&!i._gc){if(h===i){for(h=i._prev;h&&h.endTime()>this._time;)h.render(h._reversed?h.totalDuration()-(t-h._startTime)*h._timeScale:(t-h._startTime)*h._timeScale,e,n),h=h._prev;h=null,this.pause()}i._reversed?i.render((i._dirty?i.totalDuration():i._totalDuration)-(t-i._startTime)*i._timeScale,e,n):i.render((t-i._startTime)*i._timeScale,e,n)}i=a}
vendor: 5,128 bytes, line 6
6this._onUpdate&&(e||(c.length&&u(),this._callback("onUpdate"))),s&&(this._gc||m!==this._startTime&&g===this._timeScale||(0===this._time||f>=this.totalDuration())&&(r&&(c.length&&u(),this._timeline.autoRemoveChildren&&this._enabled(!1,!1),this._active=!1),!e&&this.vars[s]&&this._callback(s)))}},v._hasPausedChild=function(){for(var t=this._first;t;){if(t._paused||t instanceof r&&t._hasPausedChild())return!0;t=t._next}return!1},v.getChildren=function(t,e,n,r){r=r||-9999999999;for(var o=[],a=this._first,s=0;a;)a._startTime<r||(a instanceof i?e!==!1&&(o[s++]=a):(n!==!1&&(o[s++]=a),t!==!1&&(o=o.concat(a.getChildren(!0,e,n)),s=o.length))),a=a._next;return o},v.getTweensOf=function(t,e){var n,r,o=this._gc,a=[],s=0;for(o&&this._enabled(!0,!0),n=i.getTweensOf(t),r=n.length;--r>-1;)(n[r].timeline===this||e&&this._contains(n[r]))&&(a[s++]=n[r]);return o&&this._enabled(!1,!0),a},v.recent=function(){return this._recent},v._contains=function(t){for(var e=t.timeline;e;){if(e===this)return!0;e=e.timeline}return!1},v.shiftChildren=function(t,e,n){n=n||0;for(var i,r=this._first,o=this._labels;r;)r._startTime>=n&&(r._startTime+=t),r=r._next;if(e)for(i in o)o[i]>=n&&(o[i]+=t);return this._uncache(!0)},v._kill=function(t,e){if(!t&&!e)return this._enabled(!1,!1);for(var n=e?this.getTweensOf(e):this.getChildren(!0,!0,!1),i=n.length,r=!1;--i>-1;)n[i]._kill(t,e)&&(r=!0);return r},v.clear=function(t){var e=this.getChildren(!1,!0,!0),n=e.length;for(this._time=this._totalTime=0;--n>-1;)e[n]._enabled(!1,!1);return t!==!1&&(this._labels={}),this._uncache(!0)},v.invalidate=function(){for(var e=this._first;e;)e.invalidate(),e=e._next;return t.prototype.invalidate.call(this)},v._enabled=function(t,n){if(t===this._gc)for(var i=this._first;i;)i._enabled(t,!0),i=i._next;return e.prototype._enabled.call(this,t,n)},v.totalTime=function(e,n,i){this._forcingPlayhead=!0;var r=t.prototype.totalTime.apply(this,arguments);return this._forcingPlayhead=!1,r},v.duration=function(t){return arguments.length?(0!==this.duration()&&0!==t&&this.timeScale(this._duration/t),this):(this._dirty&&this.totalDuration(),this._duration)},v.totalDuration=function(t){if(!arguments.length){if(this._dirty){for(var e,n,i=0,r=this._last,o=999999999999;r;)e=r._prev,r._dirty&&r.totalDuration(),r._startTime>o&&this._sortChildren&&!r._paused&&!this._calculatingDuration?(this._calculatingDuration=1,this.add(r,r._startTime-r._delay),this._calculatingDuration=0):o=r._startTime,r._startTime<0&&!r._paused&&(i-=r._startTime,this._timeline.smoothChildTiming&&(this._startTime+=r._startTime/this._timeScale,this._time-=r._startTime,this._totalTime-=r._startTime,this._rawPrevTime-=r._startTime),this.shiftChildren(-r._startTime,!1,-9999999999),o=0),n=r._startTime+r._totalDuration/r._timeScale,n>i&&(i=n),r=e;this._duration=this._totalDuration=i,this._dirty=!1}return this._totalDuration}return t&&this.totalDuration()?this.timeScale(this._totalDuration/t):this},v.paused=function(e){if(!e)for(var n=this._first,i=this._time;n;)n._startTime===i&&"isPause"===n.data&&(n._rawPrevTime=0),n=n._next;return t.prototype.paused.apply(this,arguments)},v.usesFrames=function(){for(var e=this._timeline;e._timeline;)e=e._timeline;return e===t._rootFramesTimeline},v.rawTime=function(t){return t&&(this._paused||this._repeat&&this.time()>0&&this.totalProgress()<1)?this._totalTime%(this._duration+this._repeatDelay):this._paused?this._totalTime:(this._timeline.rawTime(t)-this._startTime)*this._timeScale},r},!0),n._gsDefine("TimelineMax",["TimelineLite","TweenLite","easing.Ease"],function(t,e,i){var r=function(e){t.call(this,e),this._repeat=this.vars.repeat||0,this._repeatDelay=this.vars.repeatDelay||0,this._cycle=0,this._yoyo=this.vars.yoyo===!0,this._dirty=!0},o=1e-10,a=e._internals,s=a.lazyTweens,l=a.lazyRender,h=n._gsDefine.globals,c=new i(null,null,1,0),u=r.prototype=new t;return u.constructor=r,u.kill()._gc=!1,r.version="1.20.4",u.invalidate=function(){return this._yoyo=this.vars.yoyo===!0,this._repeat=this.vars.repeat||0,this._repeatDelay=this.vars.repeatDelay||0,this._uncache(!0),t.prototype.invalidate.call(this)},u.addCallback=function(t,n,i,r){return this.add(e.delayedCall(0,t,i,r),n)},u.removeCallback=function(t,e){if(t)if(null==e)this._kill(null,t);else for(var n=this.getTweensOf(t,!1),i=n.length,r=this._parseTimeOrLabel(e);--i>-1;)n[i]._startTime===r&&n[i]._enabled(!1,!1);return this},u.removePause=function(e){return this.removeCallback(t._internals.pauseCallback,e)},u.tweenTo=function(t,n){n=n||{};var i,r,o,a={ease:c,useFrames:this.usesFrames(),immediateRender:!1,lazy:!1},s=n.repeat&&h.TweenMax||e;for(r in n)a[r]=n[r];return a.time=this._parseTimeOrLabel(t),i=Math.abs(Number(a.time)-this._time)/this._timeScale||.001,o=new s(this,i,a),a.onStart=function(){o.target.paused(!0),o.vars.time===o.target.time()||i!==o.duration()||o.isFromTo||o.duration(Math.abs(o.vars.time-o.target.time())/o.target._timeScale).render(o.time(),!0,!0),n.onStart&&n.onStart.apply(n.onStartScope||n.callbackScope||o,n.onStartParams||[])},o},u.tweenFromTo=function(t,e,n){n=n||{},t=this._parseTimeOrLabel(t),n.startAt={onComplete:this.seek,onCompleteParams:[t],
vendor: 4,951 bytes, line 6
6callbackScope:this},n.immediateRender=n.immediateRender!==!1;var i=this.tweenTo(e,n);return i.isFromTo=1,i.duration(Math.abs(i.vars.time-t)/this._timeScale||.001)},u.render=function(t,e,n){this._gc&&this._enabled(!0,!1);var i,r,a,h,c,u,p,d,f=this._time,m=this._dirty?this.totalDuration():this._totalDuration,g=this._duration,v=this._totalTime,y=this._startTime,_=this._timeScale,b=this._rawPrevTime,x=this._paused,A=this._cycle;if(f!==this._time&&(t+=this._time-f),t>=m-1e-7&&t>=0)this._locked||(this._totalTime=m,this._cycle=this._repeat),this._reversed||this._hasPausedChild()||(r=!0,h="onComplete",c=!!this._timeline.autoRemoveChildren,0===this._duration&&(t<=0&&t>=-1e-7||b<0||b===o)&&b!==t&&this._first&&(c=!0,b>o&&(h="onReverseComplete"))),this._rawPrevTime=this._duration||!e||t||this._rawPrevTime===t?t:o,this._yoyo&&0!==(1&this._cycle)?this._time=t=0:(this._time=g,t=g+1e-4);else if(t<1e-7)if(this._locked||(this._totalTime=this._cycle=0),this._time=0,(0!==f||0===g&&b!==o&&(b>0||t<0&&b>=0)&&!this._locked)&&(h="onReverseComplete",r=this._reversed),t<0)this._active=!1,this._timeline.autoRemoveChildren&&this._reversed?(c=r=!0,h="onReverseComplete"):b>=0&&this._first&&(c=!0),this._rawPrevTime=t;else{if(this._rawPrevTime=g||!e||t||this._rawPrevTime===t?t:o,0===t&&r)for(i=this._first;i&&0===i._startTime;)i._duration||(r=!1),i=i._next;t=0,this._initted||(c=!0)}else if(0===g&&b<0&&(c=!0),this._time=this._rawPrevTime=t,this._locked||(this._totalTime=t,0!==this._repeat&&(u=g+this._repeatDelay,this._cycle=this._totalTime/u>>0,0!==this._cycle&&this._cycle===this._totalTime/u&&v<=t&&this._cycle--,this._time=this._totalTime-this._cycle*u,this._yoyo&&0!==(1&this._cycle)&&(this._time=g-this._time),this._time>g?(this._time=g,t=g+1e-4):this._time<0?this._time=t=0:t=this._time)),this._hasPause&&!this._forcingPlayhead&&!e){if(t=this._time,t>=f||this._repeat&&A!==this._cycle)for(i=this._first;i&&i._startTime<=t&&!p;)i._duration||"isPause"!==i.data||i.ratio||0===i._startTime&&0===this._rawPrevTime||(p=i),i=i._next;else for(i=this._last;i&&i._startTime>=t&&!p;)i._duration||"isPause"===i.data&&i._rawPrevTime>0&&(p=i),i=i._prev;p&&p._startTime<g&&(this._time=t=p._startTime,this._totalTime=t+this._cycle*(this._totalDuration+this._repeatDelay))}if(this._cycle!==A&&!this._locked){var w=this._yoyo&&0!==(1&A),E=w===(this._yoyo&&0!==(1&this._cycle)),T=this._totalTime,S=this._cycle,M=this._rawPrevTime,C=this._time;if(this._totalTime=A*g,this._cycle<A?w=!w:this._totalTime+=g,this._time=f,this._rawPrevTime=0===g?b-1e-4:b,this._cycle=A,this._locked=!0,f=w?0:g,this.render(f,e,0===g),e||this._gc||this.vars.onRepeat&&(this._cycle=S,this._locked=!1,this._callback("onRepeat")),f!==this._time)return;if(E&&(this._cycle=A,this._locked=!0,f=w?g+1e-4:-1e-4,this.render(f,!0,!1)),this._locked=!1,this._paused&&!x)return;this._time=C,this._totalTime=T,this._cycle=S,this._rawPrevTime=M}if(!(this._time!==f&&this._first||n||c||p))return void(v!==this._totalTime&&this._onUpdate&&(e||this._callback("onUpdate")));if(this._initted||(this._initted=!0),this._active||!this._paused&&this._totalTime!==v&&t>0&&(this._active=!0),0===v&&this.vars.onStart&&(0===this._totalTime&&this._totalDuration||e||this._callback("onStart")),d=this._time,d>=f)for(i=this._first;i&&(a=i._next,d===this._time&&(!this._paused||x));)(i._active||i._startTime<=this._time&&!i._paused&&!i._gc)&&(p===i&&this.pause(),i._reversed?i.render((i._dirty?i.totalDuration():i._totalDuration)-(t-i._startTime)*i._timeScale,e,n):i.render((t-i._startTime)*i._timeScale,e,n)),i=a;else for(i=this._last;i&&(a=i._prev,d===this._time&&(!this._paused||x));){if(i._active||i._startTime<=f&&!i._paused&&!i._gc){if(p===i){for(p=i._prev;p&&p.endTime()>this._time;)p.render(p._reversed?p.totalDuration()-(t-p._startTime)*p._timeScale:(t-p._startTime)*p._timeScale,e,n),p=p._prev;p=null,this.pause()}i._reversed?i.render((i._dirty?i.totalDuration():i._totalDuration)-(t-i._startTime)*i._timeScale,e,n):i.render((t-i._startTime)*i._timeScale,e,n)}i=a}this._onUpdate&&(e||(s.length&&l(),this._callback("onUpdate"))),h&&(this._locked||this._gc||y!==this._startTime&&_===this._timeScale||(0===this._time||m>=this.totalDuration())&&(r&&(s.length&&l(),this._timeline.autoRemoveChildren&&this._enabled(!1,!1),this._active=!1),!e&&this.vars[h]&&this._callback(h)))},u.getActive=function(t,e,n){null==t&&(t=!0),null==e&&(e=!0),null==n&&(n=!1);var i,r,o=[],a=this.getChildren(t,e,n),s=0,l=a.length;for(i=0;i<l;i++)r=a[i],r.isActive()&&(o[s++]=r);return o},u.getLabelAfter=function(t){t||0!==t&&(t=this._time);var e,n=this.getLabelsArray(),i=n.length;for(e=0;e<i;e++)if(n[e].time>t)return n[e].name;return null},u.getLabelBefore=function(t){null==t&&(t=this._time);for(var e=this.getLabelsArray(),n=e.length;--n>-1;)if(e[n].time<t)return e[n].name;return null},u.getLabelsArray=function(){var t,e=[],n=0;for(t in this._labels)e[n++]={time:this._labels[t],name:t};return e.sort(function(t,e){return t.time-e.time}),e}
vendor: 8,953 bytes, lines 6-7
6,u.invalidate=function(){return this._locked=!1,t.prototype.invalidate.call(this)},u.progress=function(t,e){return arguments.length?this.totalTime(this.duration()*(this._yoyo&&0!==(1&this._cycle)?1-t:t)+this._cycle*(this._duration+this._repeatDelay),e):this._time/this.duration()||0},u.totalProgress=function(t,e){return arguments.length?this.totalTime(this.totalDuration()*t,e):this._totalTime/this.totalDuration()||0},u.totalDuration=function(e){return arguments.length?this._repeat!==-1&&e?this.timeScale(this.totalDuration()/e):this:(this._dirty&&(t.prototype.totalDuration.call(this),this._totalDuration=this._repeat===-1?999999999999:this._duration*(this._repeat+1)+this._repeatDelay*this._repeat),this._totalDuration)},u.time=function(t,e){return arguments.length?(this._dirty&&this.totalDuration(),t>this._duration&&(t=this._duration),this._yoyo&&0!==(1&this._cycle)?t=this._duration-t+this._cycle*(this._duration+this._repeatDelay):0!==this._repeat&&(t+=this._cycle*(this._duration+this._repeatDelay)),this.totalTime(t,e)):this._time},u.repeat=function(t){return arguments.length?(this._repeat=t,this._uncache(!0)):this._repeat},u.repeatDelay=function(t){return arguments.length?(this._repeatDelay=t,this._uncache(!0)):this._repeatDelay},u.yoyo=function(t){return arguments.length?(this._yoyo=t,this):this._yoyo},u.currentLabel=function(t){return arguments.length?this.seek(t,!0):this.getLabelBefore(this._time+1e-8)},r},!0),function(){var t=180/Math.PI,e=[],i=[],r=[],o={},a=n._gsDefine.globals,s=function(t,e,n,i){n===i&&(n=i-(i-e)/1e6),t===e&&(e=t+(n-t)/1e6),this.a=t,this.b=e,this.c=n,this.d=i,this.da=i-t,this.ca=n-t,this.ba=e-t},l=",x,y,z,left,top,right,bottom,marginTop,marginLeft,marginRight,marginBottom,paddingLeft,paddingTop,paddingRight,paddingBottom,backgroundPosition,backgroundPosition_y,",h=function(t,e,n,i){var r={a:t},o={},a={},s={c:i},l=(t+e)/2,h=(e+n)/2,c=(n+i)/2,u=(l+h)/2,p=(h+c)/2,d=(p-u)/8;return r.b=l+(t-l)/4,o.b=u+d,r.c=o.a=(r.b+o.b)/2,o.c=a.a=(u+p)/2,a.b=p-d,s.b=c+(i-c)/4,a.c=s.a=(a.b+s.b)/2,[r,o,a,s]},c=function(t,n,o,a,s){var l,c,u,p,d,f,m,g,v,y,_,b,x,A=t.length-1,w=0,E=t[0].a;for(l=0;l<A;l++)d=t[w],c=d.a,u=d.d,p=t[w+1].d,s?(_=e[l],b=i[l],x=(b+_)*n*.25/(a?.5:r[l]||.5),f=u-(u-c)*(a?.5*n:0!==_?x/_:0),m=u+(p-u)*(a?.5*n:0!==b?x/b:0),g=u-(f+((m-f)*(3*_/(_+b)+.5)/4||0))):(f=u-(u-c)*n*.5,m=u+(p-u)*n*.5,g=u-(f+m)/2),f+=g,m+=g,d.c=v=f,0!==l?d.b=E:d.b=E=d.a+.6*(d.c-d.a),d.da=u-c,d.ca=v-c,d.ba=E-c,o?(y=h(c,E,v,u),t.splice(w,1,y[0],y[1],y[2],y[3]),w+=4):w++,E=m;d=t[w],d.b=E,d.c=E+.4*(d.d-E),d.da=d.d-d.a,d.ca=d.c-d.a,d.ba=E-d.a,o&&(y=h(d.a,E,d.c,d.d),t.splice(w,1,y[0],y[1],y[2],y[3]))},u=function(t,n,r,o){var a,l,h,c,u,p,d=[];if(o)for(t=[o].concat(t),l=t.length;--l>-1;)"string"==typeof(p=t[l][n])&&"="===p.charAt(1)&&(t[l][n]=o[n]+Number(p.charAt(0)+p.substr(2)));if(a=t.length-2,a<0)return d[0]=new s(t[0][n],0,0,t[0][n]),d;for(l=0;l<a;l++)h=t[l][n],c=t[l+1][n],d[l]=new s(h,0,0,c),r&&(u=t[l+2][n],e[l]=(e[l]||0)+(c-h)*(c-h),i[l]=(i[l]||0)+(u-c)*(u-c));return d[l]=new s(t[l][n],0,0,t[l+1][n]),d},p=function(t,n,a,s,h,p){var d,f,m,g,v,y,_,b,x={},A=[],w=p||t[0];h="string"==typeof h?","+h+",":l,null==n&&(n=1);for(f in t[0])A.push(f);if(t.length>1){for(b=t[t.length-1],_=!0,d=A.length;--d>-1;)if(f=A[d],Math.abs(w[f]-b[f])>.05){_=!1;break}_&&(t=t.concat(),p&&t.unshift(p),t.push(t[1]),p=t[t.length-3])}for(e.length=i.length=r.length=0,d=A.length;--d>-1;)f=A[d],o[f]=h.indexOf(","+f+",")!==-1,x[f]=u(t,f,o[f],p);for(d=e.length;--d>-1;)e[d]=Math.sqrt(e[d]),i[d]=Math.sqrt(i[d]);if(!s){for(d=A.length;--d>-1;)if(o[f])for(m=x[A[d]],y=m.length-1,g=0;g<y;g++)v=m[g+1].da/i[g]+m[g].da/e[g]||0,r[g]=(r[g]||0)+v*v;for(d=r.length;--d>-1;)r[d]=Math.sqrt(r[d])}for(d=A.length,g=a?4:1;--d>-1;)f=A[d],m=x[f],c(m,n,a,s,o[f]),_&&(m.splice(0,g),m.splice(m.length-g,g));return x},d=function(t,e,n){e=e||"soft";var i,r,o,a,l,h,c,u,p,d,f,m={},g="cubic"===e?3:2,v="soft"===e,y=[];if(v&&n&&(t=[n].concat(t)),null==t||t.length<g+1)throw"invalid Bezier data";for(p in t[0])y.push(p);for(h=y.length;--h>-1;){for(p=y[h],m[p]=l=[],d=0,u=t.length,c=0;c<u;c++)i=null==n?t[c][p]:"string"==typeof(f=t[c][p])&&"="===f.charAt(1)?n[p]+Number(f.charAt(0)+f.substr(2)):Number(f),v&&c>1&&c<u-1&&(l[d++]=(i+l[d-2])/2),l[d++]=i;for(u=d-g+1,d=0,c=0;c<u;c+=g)i=l[c],r=l[c+1],o=l[c+2],a=2===g?0:l[c+3],l[d++]=f=3===g?new s(i,r,o,a):new s(i,(2*r+i)/3,(2*r+o)/3,o);l.length=d}return m},f=function(t,e,n){for(var i,r,o,a,s,l,h,c,u,p,d,f=1/n,m=t.length;--m>-1;)for(p=t[m],o=p.a,a=p.d-o,s=p.c-o,l=p.b-o,i=r=0,c=1;c<=n;c++)h=f*c,u=1-h,i=r-(r=(h*h*a+3*u*(h*s+u*l))*h),d=m*n+c-1,e[d]=(e[d]||0)+i*i},m=function(t,e){e=e>>0||6;var n,i,r,o,a=[],s=[],l=0,h=0,c=e-1,u=[],p=[];for(n in t)f(t[n],a,e);for(r=a.length,i=0;i<r;i++)l+=Math.sqrt(a[i]),o=i%e,p[o]=l,o===c&&(h+=l,o=i/e>>0,u[o]=p,s[o]=h,l=0,p=[]);return{length:h,lengths:s,segments:u}},g=n._gsDefine.plugin({propName:"bezier",priority:-1,version:"1.3.8",API:2,global:!0,init:function(t,e,n){this._target=t,e instanceof Array&&(e={values:e}),this._func={},this._mod={},this._props=[],this._timeRes=null==e.timeResolution?6:parseInt(e.timeResolution,10);var i,r,o,a,s,l=e.values||[],h={},c=l[0],u=e.autoRotate||n.vars.orientToBezier;this._autoRotate=u?u instanceof Array?u:[["x","y","rotation",u===!0?0:Number(u)||0]]:null;for(i in c)this._props.push(i);for(o=this._props.length;--o>-1;)i=this._props[o],this._overwriteProps.push(i),r=this._func[i]="function"==typeof t[i],h[i]=r?t[i.indexOf("set")||"function"!=typeof t["get"+i.substr(3)]?i:"get"+i.substr(3)]():parseFloat(t[i]),s||h[i]!==l[0][i]&&(s=h);if(this._beziers="cubic"!==e.type&&"quadratic"!==e.type&&"soft"!==e.type?p(l,isNaN(e.curviness)?1:e.curviness,!1,"thruBasic"===e.type,e.correlate,s):d(l,e.type,h),this._segCount=this._beziers[i].length,this._timeRes){var f=m(this._beziers,this._timeRes);this._length=f.length,this._lengths=f.lengths,this._segments=f.segments,this._l1=this._li=this._s1=this._si=0,this._l2=this._lengths[0],this._curSeg=this._segments[0],this._s2=this._curSeg[0],this._prec=1/this._curSeg.length}if(u=this._autoRotate)for(this._initialRotations=[],u[0]instanceof Array||(this._autoRotate=u=[u]),o=u.length;--o>-1;){for(a=0;a<3;a++)i=u[o][a],this._func[i]="function"==typeof t[i]&&t[i.indexOf("set")||"function"!=typeof t["get"+i.substr(3)]?i:"get"+i.substr(3)];i=u[o][2],this._initialRotations[o]=(this._func[i]?this._func[i].call(this._target):this._target[i])||0,this._overwriteProps.push(i)}return this._startRatio=n.vars.runBackwards?1:0,!0},set:function(e){var n,i,r,o,a,s,l,h,c,u,p=this._segCount,d=this._func,f=this._target,m=e!==this._startRatio;if(this._timeRes){if(c=this._lengths,u=this._curSeg,e*=this._length,r=this._li,e>this._l2&&r<p-1){for(h=p-1;r<h&&(this._l2=c[++r])<=e;);this._l1=c[r-1],this._li=r,this._curSeg=u=this._segments[r],this._s2=u[this._s1=this._si=0]}else if(e<this._l1&&r>0){for(;r>0&&(this._l1=c[--r])>=e;);0===r&&e<this._l1?this._l1=0:r++,this._l2=c[r],this._li=r,this._curSeg=u=this._segments[r],this._s1=u[(this._si=u.length-1)-1]||0,this._s2=u[this._si]}if(n=r,e-=this._l1,r=this._si,e>this._s2&&r<u.length-1){for(h=u.length-1;r<h&&(this._s2=u[++r])<=e;);this._s1=u[r-1],this._si=r}else if(e<this._s1&&r>0){for(;r>0&&(this._s1=u[--r])>=e;);0===r&&e<this._s1?this._s1=0:r++,this._s2=u[r],this._si=r}s=(r+(e-this._s1)/(this._s2-this._s1))*this._prec||0}else n=e<0?0:e>=1?p-1:p*e>>0,s=(e-n*(1/p))*p;for(i=1-s,r=this._props.length;--r>-1;)o=this._props[r],a=this._beziers[o][n],l=(s*s*a.da+3*i*(s*a.ca+i*a.ba))*s+a.a,this._mod[o]&&(l=this._mod[o](l,f)),d[o]?f[o](l):f[o]=l;if(this._autoRotate){var g,v,y,_,b,x,A,w=this._autoRotate;for(r=w.length;--r>-1;)o=w[r][2],x=w[r][3]||0,A=w[r][4]===!0?1:t,a=this._beziers[w[r][0]],g=this._beziers[w[r][1]],a&&g&&(a=a[n],g=g[n],v=a.a+(a.b-a.a)*s,_=a.b+(a.c-a.b)*s,v+=(_-v)*s,_+=(a.c+(a.d-a.c)*s-_)*s,y=g.a+(g.b-g.a)*s,b=g.b+(g.c-g.b)*s,y+=(b-y)*s,b+=(g.c+(g.d-g.c)*s-b)*s,l=m?Math.atan2(b-y,_-v)*A+x:this._initialRotations[r],this._mod[o]&&(l=this._mod[o](l,f)),d[o]?f[o](l):f[o]=l)}}}),v=g.prototype;g.bezierThrough=p,g.cubicToQuadratic=h,g._autoCSS=!0,g.quadraticToCubic=function(t,e,n){return new s(t,(2*e+t)/3,(2*e+n)/3,n)},g._cssRegister=function(){var t=a.CSSPlugin;if(t){var e=t._internals,n=e._parseToProxy,i=e._setPluginRatio,r=e.CSSPropTween;e._registerComplexSpecialProp("bezier",{parser:function(t,e,o,a,s,l){e instanceof Array&&(e={values:e}),l=new g;var h,c,u,p=e.values,d=p.length-1,f=[],m={}; 7if(d<0)return s;for(h=0;h<=d;h++)u=n(t,p[h],a,s,l,d!==h),f[h]=u.end;for(c in e)m[c]=e[c];return m.values=f,s=new r(t,"bezier",0,0,u.pt,2),s.data=u,s.plugin=l,s.setRatio=i,0===m.autoRotate&&(m.autoRotate=!0),!m.autoRotate||m.autoRotate instanceof Array||(h=m.autoRotate===!0?0:Number(m.autoRotate),m.autoRotate=null!=u.end.left?[["left","top","rotation",h,!1]]:null!=u.end.x&&[["x","y","rotation",h,!1]]),m.autoRotate&&(a._transform||a._enableTransforms(!1),u.autoRotate=a._target._gsTransform,u.proxy.rotation=u.autoRotate.rotation||0,a._over
7writeProps.push("rotation")),l._onInitTween(u.proxy,m,a._tween),s}})}},v._mod=function(t){for(var e,n=this._overwriteProps,i=n.length;--i>-1;)e=t[n[i]],e&&"function"==typeof e&&(this._mod[n[i]]=e)},v._kill=function(t){var e,n,i=this._props;for(e in this._beziers)if(e in t)for(delete this._beziers[e],delete this._func[e],n=i.length;--n>-1;)i[n]===e&&i.splice(n,1);if(i=this._autoRotate)for(n=i.length;--n>-1;)t[i[n][2]]&&i.splice(n,1);return this._super._kill.call(this,t)}}(),n._gsDefine("plugins.CSSPlugin",["plugins.TweenPlugin","TweenLite"],function(t,e){var i,r,o,a,s=function(){t.call(this,"css"),this._overwriteProps.length=0,this.setRatio=s.prototype.setRatio},l=n._gsDefine.globals,h={},c=s.prototype=new t("css");c.constructor=s,s.version="1.20.4",s.API=2,s.defaultTransformPerspective=0,s.defaultSkewType="compensated",s.defaultSmoothOrigin=!0,c="px",s.suffixMap={top:c,right:c,bottom:c,left:c,width:c,height:c,fontSize:c,padding:c,margin:c,perspective:c,lineHeight:""};var u,p,d,f,m,g,v,y,_=/(?:\-|\.|\b)(\d|\.|e\-)+/g,b=/(?:\d|\-\d|\.\d|\-\.\d|\+=\d|\-=\d|\+=.\d|\-=\.\d)+/g,x=/(?:\+=|\-=|\-|\b)[\d\-\.]+[a-zA-Z0-9]*(?:%|\b)/gi,A=/(?![+-]?\d*\.?\d+|[+-]|e[+-]\d+)[^0-9]/g,w=/(?:\d|\-|\+|=|#|\.)*/g,E=/opacity *= *([^)]*)/i,T=/opacity:([^;]*)/i,S=/alpha\(opacity *=.+?\)/i,M=/^(rgb|hsl)/,C=/([A-Z])/g,P=/-([a-z])/gi,L=/(^(?:url\(\"|url\())|(?:(\"\))$|\)$)/gi,R=function(t,e){return e.toUpperCase()},N=/(?:Left|Right|Width)/i,O=/(M11|M12|M21|M22)=[\d\-\.e]+/gi,I=/progid\:DXImageTransform\.Microsoft\.Matrix\(.+?\)/i,D=/,(?=[^\)]*(?:\(|$))/gi,B=/[\s,\(]/i,U=Math.PI/180,V=180/Math.PI,G={},k={style:{}},H=n.document||{createElement:function(){return k}},F=function(t,e){return H.createElementNS?H.createElementNS(e||"http://www.w3.org/1999/xhtml",t):H.createElement(t)},z=F("div"),j=F("img"),X=s._internals={_specialProps:h},W=(n.navigator||{}).userAgent||"",Y=function(){var t=W.indexOf("Android"),e=F("a");return d=W.indexOf("Safari")!==-1&&W.indexOf("Chrome")===-1&&(t===-1||parseFloat(W.substr(t+8,2))>3),m=d&&parseFloat(W.substr(W.indexOf("Version/")+8,2))<6,f=W.indexOf("Firefox")!==-1,(/MSIE ([0-9]{1,}[\.0-9]{0,})/.exec(W)||/Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/.exec(W))&&(g=parseFloat(RegExp.$1)),!!e&&(e.style.cssText="top:1px;opacity:.55;",/^0.55/.test(e.style.opacity))}(),K=function(t){return E.test("string"==typeof t?t:(t.currentStyle?t.currentStyle.filter:t.style.filter)||"")?parseFloat(RegExp.$1)/100:1},Z=function(t){n.console&&console.log(t)},q="",Q="",J=function(t,e){e=e||z;var n,i,r=e.style;if(void 0!==r[t])return t;for(t=t.charAt(0).toUpperCase()+t.substr(1),n=["O","Moz","ms","Ms","Webkit"],i=5;--i>-1&&void 0===r[n[i]+t];);return i>=0?(Q=3===i?"ms":n[i],q="-"+Q.toLowerCase()+"-",Q+t):null},$=H.defaultView?H.defaultView.getComputedStyle:function(){},tt=s.getStyle=function(t,e,n,i,r){var o;return Y||"opacity"!==e?(!i&&t.style[e]?o=t.style[e]:(n=n||$(t))?o=n[e]||n.getPropertyValue(e)||n.getPropertyValue(e.replace(C,"-$1").toLowerCase()):t.currentStyle&&(o=t.currentStyle[e]),null==r||o&&"none"!==o&&"auto"!==o&&"auto auto"!==o?o:r):K(t)},et=X.convertToPixels=function(t,n,i,r,o){if("px"===r||!r&&"lineHeight"!==n)return i;if("auto"===r||!i)return 0;var a,l,h,c=N.test(n),u=t,p=z.style,d=i<0,f=1===i;if(d&&(i=-i),f&&(i*=100),"lineHeight"!==n||r)if("%"===r&&n.indexOf("border")!==-1)a=i/100*(c?t.clientWidth:t.clientHeight);else{if(p.cssText="border:0 solid red;position:"+tt(t,"position")+";line-height:0;","%"!==r&&u.appendChild&&"v"!==r.charAt(0)&&"rem"!==r)p[c?"borderLeftWidth":"borderTopWidth"]=i+r;else{if(u=t.parentNode||H.body,tt(u,"display").indexOf("flex")!==-1&&(p.position="absolute"),l=u._gsCache,h=e.ticker.frame,l&&c&&l.time===h)return l.width*i/100;p[c?"width":"height"]=i+r}u.appendChild(z),a=parseFloat(z[c?"offsetWidth":"offsetHeight"]),u.removeChild(z),c&&"%"===r&&s.cacheWidths!==!1&&(l=u._gsCache=u._gsCache||{},l.time=h,l.width=a/i*100),0!==a||o||(a=et(t,n,i,r,!0))}else l=$(t).lineHeight,t.style.lineHeight=i,a=parseFloat($(t).lineHeight),t.style.lineHeight=l;return f&&(a/=100),d?-a:a},nt=X.calculateOffset=function(t,e,n){if("absolute"!==tt(t,"position",n))return 0;var i="left"===e?"Left":"Top",r=tt(t,"margin"+i,n);return t["offset"+i]-(et(t,e,parseFloat(r),r.replace(w,""))||0)},it=function(t,e){var n,i,r,o={};if(e=e||$(t,null))if(n=e.length)for(;--n>-1;)r=e[n],r.indexOf("-transform")!==-1&&Lt!==r||(o[r.replace(P,R)]=e.getPropertyValue(r));else for(n in e)n.indexOf("Transform")!==-1&&Pt!==n||(o[n]=e[n]);else if(e=t.currentStyle||t.style)for(n in e)"string"==typeof n&&void 0===o[n]&&(o[n.replace(P,R)]=e[n]);return Y||(o.opacity=K(t)),i=jt(t,e,!1),o.rotation=i.rotation,o.skewX=i.skewX,o.scaleX=i.scaleX,o.scaleY=i.scaleY,o.x=i.x,o.y=i.y,Nt&&(o.z=i.z,o.rotationX=i.rotationX,o.rotationY=i.rotationY,o.scaleZ=i.scaleZ),o.filters&&delete o.filters,o},rt=function(t,e,n,i,r){var o,a,s,l={},h=t.style;for(a in n)"cssText"!==a&&"length"!==a&&isNaN(a)&&(e[a]!==(o=n[a])||r&&r[a])&&a.indexOf("Origin")===-1&&("number"!=typeof o&&"string"!=typeof o||(l[a]="auto"!==o||"left"!==a&&"top"!==a?""!==o&&"auto"!==o&&"none"!==o||"string"!=typeof e[a]||""===e[a].replace(A,"")?o:0:nt(t,a),void 0!==h[a]&&(s=new _t(h,a,h[a],s))));if(i)for(a in i)"className"!==a&&(l[a]=i[a]);return{difs:l,firstMPT:s}},ot={width:["Left","Right"],height:["Top","Bottom"]},at=["marginLeft","marginRight","marginTop","marginBottom"],st=function(t,e,n){if("svg"===(t.nodeName+"").toLowerCase())return(n||$(t))[e]||0;if(t.getCTM&&Ht(t))return t.getBBox()[e]||0;var i=parseFloat("width"===e?t.offsetWidth:t.offsetHeight),r=ot[e],o=r.length;for(n=n||$(t,null);--o>-1;
7)i-=parseFloat(tt(t,"padding"+r[o],n,!0))||0,i-=parseFloat(tt(t,"border"+r[o]+"Width",n,!0))||0;return i},lt=function(t,e){if("contain"===t||"auto"===t||"auto auto"===t)return t+" ";null!=t&&""!==t||(t="0 0");var n,i=t.split(" "),r=t.indexOf("left")!==-1?"0%":t.indexOf("right")!==-1?"100%":i[0],o=t.indexOf("top")!==-1?"0%":t.indexOf("bottom")!==-1?"100%":i[1];if(i.length>3&&!e){for(i=t.split(", ").join(",").split(","),t=[],n=0;n<i.length;n++)t.push(lt(i[n]));return t.join(",")}return null==o?o="center"===r?"50%":"0":"center"===o&&(o="50%"),("center"===r||isNaN(parseFloat(r))&&(r+"").indexOf("=")===-1)&&(r="50%"),t=r+" "+o+(i.length>2?" "+i[2]:""),e&&(e.oxp=r.indexOf("%")!==-1,e.oyp=o.indexOf("%")!==-1,e.oxr="="===r.charAt(1),e.oyr="="===o.charAt(1),e.ox=parseFloat(r.replace(A,"")),e.oy=parseFloat(o.replace(A,"")),e.v=t),e||t},ht=function(t,e){return"function"==typeof t&&(t=t(y,v)),"string"==typeof t&&"="===t.charAt(1)?parseInt(t.charAt(0)+"1",10)*parseFloat(t.substr(2)):parseFloat(t)-parseFloat(e)||0},ct=function(t,e){return"function"==typeof t&&(t=t(y,v)),null==t?e:"string"==typeof t&&"="===t.charAt(1)?parseInt(t.charAt(0)+"1",10)*parseFloat(t.substr(2))+e:parseFloat(t)||0},ut=function(t,e,n,i){var r,o,a,s,l,h=1e-6;return"function"==typeof t&&(t=t(y,v)),null==t?s=e:"number"==typeof t?s=t:(r=360,o=t.split("_"),l="="===t.charAt(1),a=(l?parseInt(t.charAt(0)+"1",10)*parseFloat(o[0].substr(2)):parseFloat(o[0]))*(t.indexOf("rad")===-1?1:V)-(l?0:e),o.length&&(i&&(i[n]=e+a),t.indexOf("short")!==-1&&(a%=r,a!==a%(r/2)&&(a=a<0?a+r:a-r)),t.indexOf("_cw")!==-1&&a<0?a=(a+9999999999*r)%r-(a/r|0)*r:t.indexOf("ccw")!==-1&&a>0&&(a=(a-9999999999*r)%r-(a/r|0)*r)),s=e+a),s<h&&s>-h&&(s=0),s},pt={aqua:[0,255,255],lime:[0,255,0],silver:[192,192,192],black:[0,0,0],maroon:[128,0,0],teal:[0,128,128],blue:[0,0,255],navy:[0,0,128],white:[255,255,255],fuchsia:[255,0,255],olive:[128,128,0],yellow:[255,255,0],orange:[255,165,0],gray:[128,128,128],purple:[128,0,128],green:[0,128,0],red:[255,0,0],pink:[255,192,203],cyan:[0,255,255],transparent:[255,255,255,0]},dt=function(t,e,n){return t=t<0?t+1:t>1?t-1:t,255*(6*t<1?e+(n-e)*t*6:t<.5?n:3*t<2?e+(n-e)*(2/3-t)*6:e)+.5|0},ft=s.parseColor=function(t,e){var n,i,r,o,a,s,l,h,c,u,p;if(t)if("number"==typeof t)n=[t>>16,t>>8&255,255&t];else{if(","===t.charAt(t.length-1)&&(t=t.substr(0,t.length-1)),pt[t])n=pt[t];else if("#"===t.charAt(0))4===t.length&&(i=t.charAt(1),r=t.charAt(2),o=t.charAt(3),t="#"+i+i+r+r+o+o),t=parseInt(t.substr(1),16),n=[t>>16,t>>8&255,255&t];else if("hsl"===t.substr(0,3))if(n=p=t.match(_),e){if(t.indexOf("=")!==-1)return t.match(b)}else a=Number(n[0])%360/360,s=Number(n[1])/100,l=Number(n[2])/100,r=l<=.5?l*(s+1):l+s-l*s,i=2*l-r,n.length>3&&(n[3]=Number(n[3])),n[0]=dt(a+1/3,i,r),n[1]=dt(a,i,r),n[2]=dt(a-1/3,i,r);else n=t.match(_)||pt.transparent;n[0]=Number(n[0]),n[1]=Number(n[1]),n[2]=Number(n[2]),n.length>3&&(n[3]=Number(n[3]))}else n=pt.black;return e&&!p&&(i=n[0]/255,r=n[1]/255,o=n[2]/255,h=Math.max(i,r,o),c=Math.min(i,r,o),l=(h+c)/2,h===c?a=s=0:(u=h-c,s=l>.5?u/(2-h-c):u/(h+c),a=h===i?(r-o)/u+(r<o?6:0):h===r?(o-i)/u+2:(i-r)/u+4,a*=60),n[0]=a+.5|0,n[1]=100*s+.5|0,n[2]=100*l+.5|0),n},mt=function(t,e){var n,i,r,o=t.match(gt)||[],a=0,s="";if(!o.length)return t;for(n=0;n<o.length;n++)i=o[n],r=t.substr(a,t.indexOf(i,a)-a),a+=r.length+i.length,i=ft(i,e),3===i.length&&i.push(1),s+=r+(e?"hsla("+i[0]+","+i[1]+"%,"+i[2]+"%,"+i[3]:"rgba("+i.join(","))+")";return s+t.substr(a)},gt="(?:\\b(?:(?:rgb|rgba|hsl|hsla)\\(.+?\\))|\\B#(?:[0-9a-f]{3}){1,2}\\b";for(c in pt)gt+="|"+c+"\\b";gt=new RegExp(gt+")","gi"),s.colorStringFilter=function(t){var e,n=t[0]+" "+t[1];gt.test(n)&&(e=n.indexOf("hsl(")!==-1||n.indexOf("hsla(")!==-1,t[0]=mt(t[0],e),t[1]=mt(t[1],e)),gt.lastIndex=0},e.defaultStringFilter||(e.defaultStringFilter=s.colorStringFilter);var vt=function(t,e,n,i){if(null==t)return function(t){return t};var r,o=e?(t.match(gt)||[""])[0]:"",a=t.split(o).join("").match(x)||[],s=t.substr(0,t.indexOf(a[0])),l=")"===t.charAt(t.length-1)?")":"",h=t.indexOf(" ")!==-1?" ":",",c=a.length,u=c>0?a[0].replace(_,""):"";return c?r=e?function(t){var e,p,d,f;if("number"==typeof t)t+=u;else if(i&&D.test(t)){for(f=t.replace(D,"|").split("|"),d=0;d<f.length;d++)f[d]=r(f[d]);return f.join(",")}if(e=(t.match(gt)||[o])[0],p=t.split(e).join("").match(x)||[],d=p.length,c>d--)for(;++d<c;)p[d]=n?p[(d-1)/2|0]:a[d];return s+p.join(h)+h+e+l+(t.indexOf("inset")!==-1?" inset":"")}:function(t){var e,o,p;if("number"==typeof t)t+=u;else if(i&&D.test(t)){for(o=t.replace(D,"|").split("|"),p=0;p<o.length;
7p++)o[p]=r(o[p]);return o.join(",")}if(e=t.match(x)||[],p=e.length,c>p--)for(;++p<c;)e[p]=n?e[(p-1)/2|0]:a[p];return s+e.join(h)+l}:function(t){return t}},yt=function(t){return t=t.split(","),function(e,n,i,r,o,a,s){var l,h=(n+"").split(" ");for(s={},l=0;l<4;l++)s[t[l]]=h[l]=h[l]||h[(l-1)/2>>0];return r.parse(e,s,o,a)}},_t=(X._setPluginRatio=function(t){this.plugin.setRatio(t);for(var e,n,i,r,o,a=this.data,s=a.proxy,l=a.firstMPT,h=1e-6;l;)e=s[l.v],l.r?e=Math.round(e):e<h&&e>-h&&(e=0),l.t[l.p]=e,l=l._next;if(a.autoRotate&&(a.autoRotate.rotation=a.mod?a.mod(s.rotation,this.t):s.rotation),1===t||0===t)for(l=a.firstMPT,o=1===t?"e":"b";l;){if(n=l.t,n.type){if(1===n.type){for(r=n.xs0+n.s+n.xs1,i=1;i<n.l;i++)r+=n["xn"+i]+n["xs"+(i+1)];n[o]=r}}else n[o]=n.s+n.xs0;l=l._next}},function(t,e,n,i,r){this.t=t,this.p=e,this.v=n,this.r=r,i&&(i._prev=this,this._next=i)}),bt=(X._parseToProxy=function(t,e,n,i,r,o){var a,s,l,h,c,u=i,p={},d={},f=n._transform,m=G;for(n._transform=null,G=e,i=c=n.parse(t,e,i,r),G=m,o&&(n._transform=f,u&&(u._prev=null,u._prev&&(u._prev._next=null)));i&&i!==u;){if(i.type<=1&&(s=i.p,d[s]=i.s+i.c,p[s]=i.s,o||(h=new _t(i,"s",s,h,i.r),i.c=0),1===i.type))for(a=i.l;--a>0;)l="xn"+a,s=i.p+"_"+l,d[s]=i.data[l],p[s]=i[l],o||(h=new _t(i,l,s,h,i.rxp[l]));i=i._next}return{proxy:p,end:d,firstMPT:h,pt:c}},X.CSSPropTween=function(t,e,n,r,o,s,l,h,c,u,p){this.t=t,this.p=e,this.s=n,this.c=r,this.n=l||e,t instanceof bt||a.push(this.n),this.r=h,this.type=s||0,c&&(this.pr=c,i=!0),this.b=void 0===u?n:u,this.e=void 0===p?n+r:p,o&&(this._next=o,o._prev=this)}),xt=function(t,e,n,i,r,o){var a=new bt(t,e,n,i-n,r,(-1),o);return a.b=n,a.e=a.xs0=i,a},At=s.parseComplex=function(t,e,n,i,r,o,a,l,h,c){n=n||o||"","function"==typeof i&&(i=i(y,v)),a=new bt(t,e,0,0,a,c?2:1,null,(!1),l,n,i),i+="",r&>.test(i+n)&&(i=[n,i],s.colorStringFilter(i),n=i[0],i=i[1]);var p,d,f,m,g,x,A,w,E,T,S,M,C,P=n.split(", ").join(",").split(" "),L=i.split(", ").join(",").split(" "),R=P.length,N=u!==!1;for(i.indexOf(",")===-1&&n.indexOf(",")===-1||((i+n).indexOf("rgb")!==-1||(i+n).indexOf("hsl")!==-1?(P=P.join(" ").replace(D,", ").split(" "),L=L.join(" ").replace(D,", ").split(" ")):(P=P.join(" ").split(",").join(", ").split(" "),L=L.join(" ").split(",").join(", ").split(" ")),R=P.length),R!==L.length&&(P=(o||"").split(" "),R=P.length),a.plugin=h,a.setRatio=c,gt.lastIndex=0,p=0;p<R;p++)if(m=P[p],g=L[p],w=parseFloat(m),w||0===w)a.appendXtra("",w,ht(g,
vendor: 5,056 bytes, line 7
7w),g.replace(b,""),N&&g.indexOf("px")!==-1,!0);else if(r&>.test(m))M=g.indexOf(")")+1,M=")"+(M?g.substr(M):""),C=g.indexOf("hsl")!==-1&&Y,T=g,m=ft(m,C),g=ft(g,C),E=m.length+g.length>6,E&&!Y&&0===g[3]?(a["xs"+a.l]+=a.l?" transparent":"transparent",a.e=a.e.split(L[p]).join("transparent")):(Y||(E=!1),C?a.appendXtra(T.substr(0,T.indexOf("hsl"))+(E?"hsla(":"hsl("),m[0],ht(g[0],m[0]),",",!1,!0).appendXtra("",m[1],ht(g[1],m[1]),"%,",!1).appendXtra("",m[2],ht(g[2],m[2]),E?"%,":"%"+M,!1):a.appendXtra(T.substr(0,T.indexOf("rgb"))+(E?"rgba(":"rgb("),m[0],g[0]-m[0],",",!0,!0).appendXtra("",m[1],g[1]-m[1],",",!0).appendXtra("",m[2],g[2]-m[2],E?",":M,!0),E&&(m=m.length<4?1:m[3],a.appendXtra("",m,(g.length<4?1:g[3])-m,M,!1))),gt.lastIndex=0;else if(x=m.match(_)){if(A=g.match(b),!A||A.length!==x.length)return a;for(f=0,d=0;d<x.length;d++)S=x[d],T=m.indexOf(S,f),a.appendXtra(m.substr(f,T-f),Number(S),ht(A[d],S),"",N&&"px"===m.substr(T+S.length,2),0===d),f=T+S.length;a["xs"+a.l]+=m.substr(f)}else a["xs"+a.l]+=a.l||a["xs"+a.l]?" "+g:g;if(i.indexOf("=")!==-1&&a.data){for(M=a.xs0+a.data.s,p=1;p<a.l;p++)M+=a["xs"+p]+a.data["xn"+p];a.e=M+a["xs"+p]}return a.l||(a.type=-1,a.xs0=a.e),a.xfirst||a},wt=9;for(c=bt.prototype,c.l=c.pr=0;--wt>0;)c["xn"+wt]=0,c["xs"+wt]="";c.xs0="",c._next=c._prev=c.xfirst=c.data=c.plugin=c.setRatio=c.rxp=null,c.appendXtra=function(t,e,n,i,r,o){var a=this,s=a.l;return a["xs"+s]+=o&&(s||a["xs"+s])?" "+t:t||"",n||0===s||a.plugin?(a.l++,a.type=a.setRatio?2:1,a["xs"+a.l]=i||"",s>0?(a.data["xn"+s]=e+n,a.rxp["xn"+s]=r,a["xn"+s]=e,a.plugin||(a.xfirst=new bt(a,"xn"+s,e,n,a.xfirst||a,0,a.n,r,a.pr),a.xfirst.xs0=0),a):(a.data={s:e+n},a.rxp={},a.s=e,a.c=n,a.r=r,a)):(a["xs"+s]+=e+(i||""),a)};var Et=function(t,e){e=e||{},this.p=e.prefix?J(t)||t:t,h[t]=h[this.p]=this,this.format=e.formatter||vt(e.defaultValue,e.color,e.collapsible,e.multi),e.parser&&(this.parse=e.parser),this.clrs=e.color,this.multi=e.multi,this.keyword=e.keyword,this.dflt=e.defaultValue,this.pr=e.priority||0},Tt=X._registerComplexSpecialProp=function(t,e,n){"object"!=typeof e&&(e={parser:n});var i,r,o=t.split(","),a=e.defaultValue;for(n=n||[a],i=0;i<o.length;i++)e.prefix=0===i&&e.prefix,e.defaultValue=n[i]||a,r=new Et(o[i],e)},St=X._registerPluginProp=function(t){if(!h[t]){var e=t.charAt(0).toUpperCase()+t.substr(1)+"Plugin";Tt(t,{parser:function(t,n,i,r,o,a,s){var c=l.com.greensock.plugins[e];return c?(c._cssRegister(),h[i].parse(t,n,i,r,o,a,s)):(Z("Error: "+e+" js file not loaded."),o)}})}};c=Et.prototype,c.parseComplex=function(t,e,n,i,r,o){var a,s,l,h,c,u,p=this.keyword;if(this.multi&&(D.test(n)||D.test(e)?(s=e.replace(D,"|").split("|"),l=n.replace(D,"|").split("|")):p&&(s=[e],l=[n])),l){for(h=l.length>s.length?l.length:s.length,a=0;a<h;a++)e=s[a]=s[a]||this.dflt,n=l[a]=l[a]||this.dflt,p&&(c=e.indexOf(p),u=n.indexOf(p),c!==u&&(u===-1?s[a]=s[a].split(p).join(""):c===-1&&(s[a]+=" "+p)));e=s.join(", "),n=l.join(", ")}return At(t,this.p,e,n,this.clrs,this.dflt,i,this.pr,r,o)},c.parse=function(t,e,n,i,r,a,s){return this.parseComplex(t.style,this.format(tt(t,this.p,o,!1,this.dflt)),this.format(e),r,a)},s.registerSpecialProp=function(t,e,n){Tt(t,{parser:function(t,i,r,o,a,s,l){var h=new bt(t,r,0,0,a,2,r,(!1),n);return h.plugin=s,h.setRatio=e(t,i,o._tween,r),h},priority:n})},s.useSVGTransformAttr=!0;var Mt,Ct="scaleX,scaleY,scaleZ,x,y,z,skewX,skewY,rotation,rotationX,rotationY,perspective,xPercent,yPercent".split(","),Pt=J("transform"),Lt=q+"transform",Rt=J("transformOrigin"),Nt=null!==J("perspective"),Ot=X.Transform=function(){this.perspective=parseFloat(s.defaultTransformPerspective)||0,this.force3D=!(s.defaultForce3D===!1||!Nt)&&(s.defaultForce3D||"auto")},It=n.SVGElement,Dt=function(t,e,n){var i,r=H.createElementNS("http://www.w3.org/2000/svg",t),o=/([a-z])([A-Z])/g;for(i in n)r.setAttributeNS(null,i.replace(o,"$1-$2").toLowerCase(),n[i]);return e.appendChild(r),r},Bt=H.documentElement||{},Ut=function(){var t,e,i,r=g||/Android/i.test(W)&&!n.chrome;return H.createElementNS&&!r&&(t=Dt("svg",Bt),e=Dt("rect",t,{width:100,height:50,x:100}),i=e.getBoundingClientRect().width,e.style[Rt]="50% 50%",e.style[Pt]="scaleX(0.5)",r=i===e.getBoundingClientRect().width&&!(f&&Nt),Bt.removeChild(t)),r}(),Vt=function(t,e,n,i,r,o){var a,l,h,c,u,p,d,f,m,g,v,y,_,b,x=t._gsTransform,A=zt(t,!0);x&&(_=x.xOrigin,b=x.yOrigin),(!i||(a=i.split(" ")).length<2)&&(d=t.getBBox(),0===d.x&&0===d.y&&d.width+d.height===0&&(d={x:parseFloat(t.hasAttribute("x")?t.getAttribute("x"):t.hasAttribute("cx")?t.getAttribute("cx"):0)||0,y:parseFloat(t.hasAttribute("y")?t.getAttribute("y"):t.hasAttribute("cy")?t.getAttribute("cy"):0)||0,width:0,height:0}),e=lt(e).split(" "),a=[(e[0].indexOf("%")!==-1?parseFloat(e[0])/100*d.width:parseFloat(e[0]))+d.x,(e[1].indexOf("%")!==-1?parseFloat(e[1])/100*d.height:parseFloat(e[1]))+d.y]),n.xOrigin=c=parseFloat(a[0]),n.yOrigin=u=parseFloat(a[1]),i&&A!==Ft&&(p=A[0],d=A[1],f=A[2],m=A[3],g=A[4],v=A[5],y=p*m-d*f,y&&(l=c*(m/y)+u*(-f/y)+(f*v-m*g)/y,h=c*(-d/y)+u*(p/y)-(p*v-d*g)/y,c=n.xOrigin=a[0]=l,u=n.yOrigin=a[1]=h)),x&&(o&&
7(n.xOffset=x.xOffset,n.yOffset=x.yOffset,x=n),r||r!==!1&&s.defaultSmoothOrigin!==!1?(l=c-_,h=u-b,x.xOffset+=l*A[0]+h*A[2]-l,x.yOffset+=l*A[1]+h*A[3]-h):x.xOffset=x.yOffset=0),o||t.setAttribute("data-svg-origin",a.join(" "))},Gt=function(t){var e,n=F("svg",this.ownerSVGElement&&this.ownerSVGElement.getAttribute("xmlns")||"http://www.w3.org/2000/svg"),i=this.parentNode,r=this.nextSibling,o=this.style.cssText;if(Bt.appendChild(n),n.appendChild(this),this.style.display="block",t)try{e=this.getBBox(),this._originalGetBBox=this.getBBox,this.getBBox=Gt}catch(a){}else this._originalGetBBox&&(e=this._originalGetBBox());return r?i.insertBefore(this,r):i.appendChild(this),Bt.removeChild(n),this.style.cssText=o,e},kt=function(t){try{return t.getBBox()}catch(e){return Gt.call(t,!0)}},Ht=function(t){return!(!It||!t.getCTM||t.parentNode&&!t.ownerSVGElement||!kt(t))},Ft=[1,0,0,1,0,0],zt=function(t,e){var n,i,r,o,a,s,l=t._gsTransform||new Ot,h=1e5,c=t.style;if(Pt?i=tt(t,Lt,null,!0):t.currentStyle&&(i=t.currentStyle.filter.match(O),i=i&&4===i.length?[i[0].substr(4),Number(i[2].substr(4)),Number(i[1].substr(4)),i[3].substr(4),l.x||0,l.y||0].join(","):""),n=!i||"none"===i||"matrix(1, 0, 0, 1, 0, 0)"===i,!Pt||!(s=!$(t)||"none"===$(t).display)&&t.parentNode||(s&&(o=c.display,c.display="block"),t.parentNode||(a=1,Bt.appendChild(t)),i=tt(t,Lt,null,!0),n=!i||"none"===i||"matrix(1, 0, 0, 1, 0, 0)"===i,o?c.display=o:s&&Kt(c,"display"),a&&Bt.removeChild(t)),(l.svg||t.getCTM&&Ht(t))&&(n&&(c[Pt]+"").indexOf("matrix")!==-1&&(i=c[Pt],n=0),r=t.getAttribute("transform"),n&&r&&(r=t.transform.baseVal.consolidate().matrix,i="matrix("+r.a+","+r.b+","+r.c+","+r.d+","+r.e+","+r.f+")",n=0)),n)return Ft;
vendor: 1,543 bytes, line 7
7for(r=(i||"").match(_)||[],wt=r.length;--wt>-1;)o=Number(r[wt]),r[wt]=(a=o-(o|=0))?(a*h+(a<0?-.5:.5)|0)/h+o:o;return e&&r.length>6?[r[0],r[1],r[4],r[5],r[12],r[13]]:r},jt=X.getTransform=function(t,n,i,r){if(t._gsTransform&&i&&!r)return t._gsTransform;var o,a,l,h,c,u,p=i?t._gsTransform||new Ot:new Ot,d=p.scaleX<0,f=2e-5,m=1e5,g=Nt?parseFloat(tt(t,Rt,n,!1,"0 0 0").split(" ")[2])||p.zOrigin||0:0,v=parseFloat(s.defaultTransformPerspective)||0;if(p.svg=!(!t.getCTM||!Ht(t)),p.svg&&(Vt(t,tt(t,Rt,n,!1,"50% 50%")+"",p,t.getAttribute("data-svg-origin")),Mt=s.useSVGTransformAttr||Ut),o=zt(t),o!==Ft){if(16===o.length){var y,_,b,x,A,w=o[0],E=o[1],T=o[2],S=o[3],M=o[4],C=o[5],P=o[6],L=o[7],R=o[8],N=o[9],O=o[10],I=o[12],D=o[13],B=o[14],U=o[11],G=Math.atan2(P,O);p.zOrigin&&(B=-p.zOrigin,I=R*B-o[12],D=N*B-o[13],B=O*B+p.zOrigin-o[14]),p.rotationX=G*V,G&&(x=Math.cos(-G),A=Math.sin(-G),y=M*x+R*A,_=C*x+N*A,b=P*x+O*A,R=M*-A+R*x,N=C*-A+N*x,O=P*-A+O*x,U=L*-A+U*x,M=y,C=_,P=b),G=Math.atan2(-T,O),p.rotationY=G*V,G&&(x=Math.cos(-G),A=Math.sin(-G),y=w*x-R*A,_=E*x-N*A,b=T*x-O*A,N=E*A+N*x,O=T*A+O*x,U=S*A+U*x,w=y,E=_,T=b),G=Math.atan2(E,w),p.rotation=G*V,G&&(x=Math.cos(G),A=Math.sin(G),y=w*x+E*A,_=M*x+C*A,b=R*x+N*A,E=E*x-w*A,C=C*x-M*A,N=N*x-R*A,w=y,M=_,R=b),p.rotationX&&Math.abs(p.rotationX)+Math.abs(p.rotation)>359.9&&(p.rotationX=p.rotation=0,p.rotationY=180-p.rotationY),G=Math.atan2(M,C),p.scaleX=(Math.sqrt(w*w+E*E+T*T)*m+.5|0)/m,p.scaleY=(Math.sqrt(C*C+P*P)*m+.5|0)/m,p.scaleZ=(Math.sqrt(R*R+N*N+O*O)*m+.5|0)/m,w/=p.scaleX,M/=p.scaleY,E/=p.scaleX,C
7/=p.scaleY,Math.abs(G)>f?(p.skewX=G*V,M=0,"simple"!==p.skewType&&(p.scaleY*=1/Math.cos(G))):p.skewX=0,p.perspective=U?1/(U<0?-U:U):0,p.x=I,p.y=D,p.z=B,p.svg&&(p.x-=p.xOrigin-(p.xOrigin*w-p.yOrigin*M),p.y-=p.yOrigin-(p.yOrigin*E-p.xOrigin*C))}else if(!Nt||r||!o.length||p.x!==o[4]||p.y!==o[5]||!p.rotationX&&!p.rotationY){var k=o.length>=6,H=k?o[0]:1,F=o[1]||0,z=o[2]||0,j=k?o[3]:1;p.x=o[4]||0,p.y=o[5]||0,l=Math.sqrt(H*H+F*F),h=Math.sqrt(j*j+z*z),c=H||F?Math.atan2(F,H)*V:p.rotation||0,u=z||j?Math.atan2(z,j)*V+c:p.skewX||0,p.scaleX=l,p.scaleY=h,p.rotation=c,p.skewX=u,Nt&&(p.rotationX=p.rotationY=p.z=0,p.perspective=v,p.scaleZ=1),p.svg&&(p.x-=p.xOrigin-(p.xOrigin*H+p.yOrigin*z),p.y-=p.yOrigin-(p.xOrigin*F+p.yOrigin*j))}Math.abs(p.skewX)>90&&Math.abs(p.skewX)<270&&(d?(p.scaleX*=-1,p.skewX+=p.rotation<=0?180:-180,p.rotation+=p.rotation<=0?180:-180):(p.scaleY*=-1,p.skewX+=p.skewX<=0?180:-180)),p.zOrigin=g;for(a in p)p[a]<f&&p[a]>-f&&(p[a]=0)}return i&&(t._gsTransform=p,p.svg&&(Mt&&t.style[Pt]?e.delayedCall(.001,function(){Kt(t.style,Pt)}):!Mt&&t.getAttribute("transform")&&e.delayedCall(.001,function(){t.removeAttribute("transform")}))),p},Xt=function(t){var e,n,i=this.data,r=-i.rotation*U,o=r+i.skewX*U,a=1e5,s=(Math.cos(r)*i.scaleX*a|0)/a,l=(Math.sin(r)*i.scaleX*a|0)/a,h=(Math.sin(o)*-i.scaleY*a|0)/a,c=(Math.cos(o)*i.scaleY*a|0)/a,u=this.t.style,p=this.t.currentStyle;if(p){n=l,l=-h,h=-n,e=p.filter,u.filter="";var d,f,m=this.t.offsetWidth,v=this.t.offsetHeight,y="absolute"!==p.position,_="progid:DXImageTransform.Microsoft.Matrix(M11="+s+", M12="+l+", M21="+h+", M22="+c,b=i.x+m*i.xPercent/100,x=i.y+v*i.yPercent/100;if(null!=i.ox&&(d=(i.oxp?m*i.ox*.01:i.ox)-m/2,f=(i.oyp?v*i.oy*.01:i.oy)-v/2,b+=d-(d*s+f*l),x+=f-(d*h+f*c)),y?(d=m/2,f=v/2,_+=", Dx="+(d-(d*s+f*l)+b)+", Dy="+(f-(d*h+f*c)+x)+")"):_+=", sizingMethod='auto expand')",e.indexOf("DXImageTransform.Microsoft.Matrix(")!==-1?u.filter=e.replace(I,_):u.filter=_+" "+e,0!==t&&1!==t||1===s&&0===l&&0===h&&1===c&&(y&&_.indexOf("Dx=0, Dy=0")===-1||E.test(e)&&100!==parseFloat(RegExp.$1)||e.indexOf(e.indexOf("Alpha"))===-1&&u.removeAttribute("filter")),!y){var A,T,S,M=g<8?1:-1;for(d=i.ieOffsetX||0,f=i.ieOffsetY||0,i.ieOffsetX=Math.round((m-((s<0?-s:s)*m+(l<0?-l:l)*v))/2+b),i.ieOffsetY=Math.round((v-((c<0?-c:c)*v+(h<0?-h:h)*m))/2+x),wt=0;wt<4;wt++)T=at[wt],A=p[T],n=A.indexOf("px")!==-1?parseFloat(A):et(this.t,T,parseFloat(A),A.replace(w,""))||0,S=n!==i[T]?wt<2?-i.ieOffsetX:-i.ieOffsetY:wt<2?d-i.ieOffsetX:f-i.ieOffsetY,u[T]=(i[T]=Math.round(n-S*(0===wt||2===wt?1:M)))+"px"}}},Wt=X.set3DTransformRatio=X.setTransformRatio=function(t){var e,n,i,r,o,a,s,l,h,c,u,p,d,m,g,v,y,_,b,x,A,w,E,T=this.data,S=this.t.style,M=T.rotation,C=T.rotationX,P=T.rotationY,L=T.scaleX,R=T.scaleY,N=T.scaleZ,O=T.x,I=T.y,D=T.z,B=T.svg,V=T.perspective,G=T.force3D,k=T.skewY,H=T.skewX;if(k&&(H+=k,M+=k),((1===t||0===t)&&"auto"===G&&(this.tween._totalTime===this.tween._totalDuration||!this.tween._totalTime)||!G)&&!D&&!V&&!P&&!C&&1===N||Mt&&B||!Nt)return void(M||H||B?(M*=U,w=H*U,E=1e5,n=Math.cos(M)*L,o=Math.sin(M)*L,i=Math.sin(M-w)*-R,a=Math.cos(M-w)*R,w&&"simple"===T.skewType&&(e=Math.tan(w-k*U),e=Math.sqrt(1+e*e),i*=e,a*=e,k&&(e=Math.tan(k*U),e=Math.sqrt(1+e*e),n*=e,o*=e)),B&&(O+=T.xOrigin-(T.xOrigin*n+T.yOrigin*i)+T.xOffset,I+=T.yOrigin-(T.xOrigin*o+T.yOrigin*a)+T.yOffset,Mt&&(T.xPercent||T.yPercent)&&(g=this.t.getBBox(),O+=.01*T.xPercent*g.width,I+=.01*T.yPercent*g.height),g=1e-6,O<g&&O>-g&&(O=0),I<g&&I>-g&&(I=0)),b=(n*E|0)/E+","+(o*E|0)/E+","+(i*E|0)/E+","+(a*E|0)/E+","+O+","+I+")",B&&Mt?this.t.setAttribute("transform","matrix("+b):S[Pt]=(T.xPercent||T.yPercent?"translate("+T.xPercent+"%,"+T.yPercent+"%) matrix(":"matrix(")+b):S[Pt]=(T.xPercent||T.yPercent?"translate("+T.xPercent+"%,"+T.yPercent+"%) matrix(":"matrix(")+L+",0,0,"+R+","+O+","+I+")");if(f&&(g=1e-4,L<g&&L>-g&&(L=N=2e-5),R<g&&R>-g&&(R=N=2e-5),!V||T.z||T.rotationX||T.rotationY||(V=0)),M||H)M*=U,v=n=Math.cos(M),y=o=Math.sin(M),H&&(M-=H*U,v=Math.cos(M),y=Math.sin(M),"simple"===T.skewType&&(e=Math.tan((H-k)*U),e=Math.sqrt(1+e*e),v*=e,y*=e,T.skewY&&(e=Math.tan(k*U),e=Math.sqrt(1+e*e),n*=e,o*=e))),i=-y,a=v;else{if(!(P||C||1!==N||V||B))return void(S[Pt]=(T.xPercent||T.yPercent?"translate("+T.xPercent+"%,"+T.yPercent+"%) translate3d(":"translate3d(")+O+"px,"+I+"px,"+D+"px)"+(1!==L||1!==R?" scale("+L+","+R+")":""));n=a=1,i=o=0}c=1,r=s=l=h=u=p=0,d=V?-1/V:0,m=T.zOrigin,g=1e-6,x=",",A="0",M=P*U,M&&(v=Math.cos(M),y=Math.sin(M),l=-y,u=d*-y,r=n*y,s=o*y,c=v,d*=v,n*=v,o*=v),M=C*U,M&&(v=Math.cos(M),y=Math.sin(M),e=i*v+r*y,_=a*v+s*y,h=c*y,p=d*y,r=i*-y+r*v,s=a*-y+s*v,c*=v,d*=v,i=e,a=_),1!==N&&(r*=N,s*=N,c*=N,d*=N),1!==R&&(i*=R,a*=R,h*=R,p*=R),1!==L&&(n*=L,o*=L,l*=L,u*=L),(m||B)&&(m&&(O+=r*-m,I+=s*-m,D+=c*-m+m),B&&(O+=T.xOrigin-(T.xOrigin*n+T.yOrigin*i)+T.xOffset,I+=T.yOrigin-(T.xOrigin*o+T.yOrigin*a)+T.yOffset),O<g&&O>-g&&(O=A),I<g&&I>-g&&(I=A),D<g&&D>-g&&(D=0)),b=T.xPercent||T.yPercent?"translate("+T.xPercent+"%,"+T.yPercent+"%) matrix3d(":"matrix3d(",b+=(n<g&&n>-g?A:n)+x+(o<g&&o>-g?A:o)+x+(l<g&&l>-g?A:l),b+=x+(u<g&&u>-g?A:u)+x+(i<g&&i>-g?A:i)+x+(a<g&&a>-g?A:a),C||P||1!==N?(b+=x+(h<g&&h>-g?A:h)+x+(p<g&&p>
vendor: 5,207 bytes, line 7
7-g?A:p)+x+(r<g&&r>-g?A:r),b+=x+(s<g&&s>-g?A:s)+x+(c<g&&c>-g?A:c)+x+(d<g&&d>-g?A:d)+x):b+=",0,0,0,0,1,0,",b+=O+x+I+x+D+x+(V?1+-D/V:1)+")",S[Pt]=b};c=Ot.prototype,c.x=c.y=c.z=c.skewX=c.skewY=c.rotation=c.rotationX=c.rotationY=c.zOrigin=c.xPercent=c.yPercent=c.xOffset=c.yOffset=0,c.scaleX=c.scaleY=c.scaleZ=1,Tt("transform,scale,scaleX,scaleY,scaleZ,x,y,z,rotation,rotationX,rotationY,rotationZ,skewX,skewY,shortRotation,shortRotationX,shortRotationY,shortRotationZ,transformOrigin,svgOrigin,transformPerspective,directionalRotation,parseTransform,force3D,skewType,xPercent,yPercent,smoothOrigin",{parser:function(t,e,n,i,r,a,l){if(i._lastParsedTransform===l)return r;i._lastParsedTransform=l;var h,c=l.scale&&"function"==typeof l.scale?l.scale:0;"function"==typeof l[n]&&(h=l[n],l[n]=e),c&&(l.scale=c(y,t));var u,p,d,f,m,g,_,b,x,A=t._gsTransform,w=t.style,E=1e-6,T=Ct.length,S=l,M={},C="transformOrigin",P=jt(t,o,!0,S.parseTransform),L=S.transform&&("function"==typeof S.transform?S.transform(y,v):S.transform);if(P.skewType=S.skewType||P.skewType||s.defaultSkewType,i._transform=P,L&&"string"==typeof L&&Pt)p=z.style,p[Pt]=L,p.display="block",p.position="absolute",H.body.appendChild(z),u=jt(z,null,!1),"simple"===P.skewType&&(u.scaleY*=Math.cos(u.skewX*U)),P.svg&&(g=P.xOrigin,_=P.yOrigin,u.x-=P.xOffset,u.y-=P.yOffset,(S.transformOrigin||S.svgOrigin)&&(L={},Vt(t,lt(S.transformOrigin),L,S.svgOrigin,S.smoothOrigin,!0),g=L.xOrigin,_=L.yOrigin,u.x-=L.xOffset-P.xOffset,u.y-=L.yOffset-P.yOffset),(g||_)&&(b=zt(z,!0),u.x-=g-(g*b[0]+_*b[2]),u.y-=_-(g*b[1]+_*b[3]))),H.body.removeChild(z),u.perspective||(u.perspective=P.perspective),null!=S.xPercent&&(u.xPercent=ct(S.xPercent,P.xPercent)),null!=S.yPercent&&(u.yPercent=ct(S.yPercent,P.yPercent));else if("object"==typeof S){if(u={scaleX:ct(null!=S.scaleX?S.scaleX:S.scale,P.scaleX),scaleY:ct(null!=S.scaleY?S.scaleY:S.scale,P.scaleY),scaleZ:ct(S.scaleZ,P.scaleZ),x:ct(S.x,P.x),y:ct(S.y,P.y),z:ct(S.z,P.z),xPercent:ct(S.xPercent,P.xPercent),yPercent:ct(S.yPercent,P.yPercent),perspective:ct(S.transformPerspective,P.perspective)},m=S.directionalRotation,null!=m)if("object"==typeof m)for(p in m)S[p]=m[p];else S.rotation=m;"string"==typeof S.x&&S.x.indexOf("%")!==-1&&(u.x=0,u.xPercent=ct(S.x,P.xPercent)),"string"==typeof S.y&&S.y.indexOf("%")!==-1&&(u.y=0,u.yPercent=ct(S.y,P.yPercent)),u.rotation=ut("rotation"in S?S.rotation:"shortRotation"in S?S.shortRotation+"_short":"rotationZ"in S?S.rotationZ:P.rotation,P.rotation,"rotation",M),Nt&&(u.rotationX=ut("rotationX"in S?S.rotationX:"shortRotationX"in S?S.shortRotationX+"_short":P.rotationX||0,P.rotationX,"rotationX",M),u.rotationY=ut("rotationY"in S?S.rotationY:"shortRotationY"in S?S.shortRotationY+"_short":P.rotationY||0,P.rotationY,"rotationY",M)),u.skewX=ut(S.skewX,P.skewX),u.skewY=ut(S.skewY,P.skewY)}for(Nt&&null!=S.force3D&&(P.force3D=S.force3D,f=!0),d=P.force3D||P.z||P.rotationX||P.rotationY||u.z||u.rotationX||u.rotationY||u.perspective,d||null==S.scale||(u.scaleZ=1);--T>-1;)x=Ct[T],L=u[x]-P[x],(L>E||L<-E||null!=S[x]||null!=G[x])&&(f=!0,r=new bt(P,x,P[x],L,r),x in M&&(r.e=M[x]),r.xs0=0,r.plugin=a,i._overwriteProps.push(r.n));return L=S.transformOrigin,P.svg&&(L||S.svgOrigin)&&(g=P.xOffset,_=P.yOffset,Vt(t,lt(L),u,S.svgOrigin,S.smoothOrigin),r=xt(P,"xOrigin",(A?P:u).xOrigin,u.xOrigin,r,C),r=xt(P,"yOrigin",(A?P:u).yOrigin,u.yOrigin,r,C),g===P.xOffset&&_===P.yOffset||(r=xt(P,"xOffset",A?g:P.xOffset,P.xOffset,r,C),r=xt(P,"yOffset",A?_:P.yOffset,P.yOffset,r,C)),L="0px 0px"),(L||Nt&&d&&P.zOrigin)&&(Pt?(f=!0,x=Rt,L=(L||tt(t,x,o,!1,"50% 50%"))+"",r=new bt(w,x,0,0,r,(-1),C),r.b=w[x],r.plugin=a,Nt?(p=P.zOrigin,L=L.split(" "),P.zOrigin=(L.length>2&&(0===p||"0px"!==L[2])?parseFloat(L[2]):p)||0,r.xs0=r.e=L[0]+" "+(L[1]||"50%")+" 0px",r=new bt(P,"zOrigin",0,0,r,(-1),r.n),r.b=p,r.xs0=r.e=P.zOrigin):r.xs0=r.e=L):lt(L+"",P)),f&&(i._transformType=P.svg&&Mt||!d&&3!==this._transformType?2:3),h&&(l[n]=h),c&&(l.scale=c),r},prefix:!0}),Tt("boxShadow",{defaultValue:"0px 0px 0px 0px #999",prefix:!0,color:!0,multi:!0,keyword:"inset"}),Tt("borderRadius",{defaultValue:"0px",parser:function(t,e,n,i,a,s){e=this.format(e);var l,h,c,u,p,d,f,m,g,v,y,_,b,x,A,w,E=["borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius"],T=t.style;for(g=parseFloat(t.offsetWidth),v=parseFloat(t.offsetHeight),l=e.split(" "),h=0;h<E.length;h++)this.p.indexOf("border")&&(E[h]=J(E[h])),p=u=tt(t,E[h],o,!1,"0px"),p.indexOf(" ")!==-1&&(u=p.split(" "),p=u[0],u=u[1]),d=c=l[h],f=parseFloat(p),_=p.substr((f+"").length),b="="===d.charAt(1),b?(m=parseInt(d.charAt(0)+"1",10),d=d.substr(2),m*=parseFloat(d),y=d.substr((m+"").length-(m<0?1:0))||""):(m=parseFloat(d),y=d.substr((m+"").length)),""===y&&(y=r[n]||_),y!==_&&(x=et(t,"borderLeft",f,_),A=et(t,"borderTop",f,_),"%"===y?(p=x/g*100+"%",u=A/v*100+"%"):"em"===y?(w=et(t,"borderLeft",1,"em"),p=x/w+"em",u=A/w+"em"):(p=x+"px",u=A+"px"),b&&(d=parseFloat(p)+m+y,c=parseFloat(u)+m+y)),a=At(T,E[h],p+" "+u,d+" "+c,!1,"0px",a);return a},prefix:!0,formatter:vt("0px 0px 0px 0px",!1,!0)}),Tt("borderBottomLeftRadius,borderBottomRightRadius,borderTopLeftRadius,borderTopRightRadius",{defaultValue:"0px",parser:function(t,e,n,i,r,a){return At(t.
7style,n,this.format(tt(t,n,o,!1,"0px 0px")),this.format(e),!1,"0px",r)},prefix:!0,formatter:vt("0px 0px",!1,!0)}),Tt("backgroundPosition",{defaultValue:"0 0",parser:function(t,e,n,i,r,a){var s,l,h,c,u,p,d="background-position",f=o||$(t,null),m=this.format((f?g?f.getPropertyValue(d+"-x")+" "+f.getPropertyValue(d+"-y"):f.getPropertyValue(d):t.currentStyle.backgroundPositionX+" "+t.currentStyle.backgroundPositionY)||"0 0"),v=this.format(e); 8if(m.indexOf("%")!==-1!=(v.indexOf("%")!==-1)&&v.split(",").length<2&&(p=tt(t,"backgroundImage").replace(L,""),p&&"none"!==p)){for(s=m.split(" "),l=v.split(" "),j.setAttribute("src",p),h=2;--h>-1;)m=s[h],c=m.indexOf("%")!==-1,c!==(l[h].indexOf("%")!==-1)&&(u=0===h?t.offsetWidth-j.width:t.offsetHeight-j.height,s[h]=c?parseFloat(m)/100*u+"px":parseFloat(m)/u*100+"%");m=s.join(" ")}return this.parseComplex(t.style,m,v,r,a)},formatter:lt}),Tt("backgroundSize",{defaultValue:"0 0",formatter:function(t){return t+="",lt(t.indexOf(" ")===-1?t+" "+t:t)}}),Tt("perspective",{defaultValue:"0px",prefix:!0}),Tt("perspectiveOrigin",{defaultValue:"50% 50%",prefix:!0}),Tt("transformStyle",{prefix:!0}),Tt("backfaceVisibility",{prefix:!0}),Tt("userSelect",{prefix:!0}),Tt("margin",{parser:yt("marginTop,marginRight,marginBottom,marginLeft")}),Tt("padding",{parser:yt("paddingTop,paddingRight,paddingBottom,paddingLeft")}),Tt("clip",{defaultValue:"rect(0px,0px,0px,0px)",parser:function(t,e,n,i,r,a){var s,l,h;return g<9?(l=t.currentStyle,h=g<8?" ":",",s="rect("+l.clipTop+h+l.clipRight+h+l.clipBottom+h+l.clipLeft+")",e=this.format(e).split(",").join(h)):(s=this.format(tt(t,this.p,o,!1,this.dflt)),e=this.format(e)),this.parseComplex(t.style,s,e,r,a)}}),Tt("textShadow",{defaultValue:"0px 0px 0px #999",color:!0,multi:!0}),Tt("autoRound,strictUnits",{parser:function(t,e,n,i,r){return r}}),Tt("border",{defaultValue:"0px solid #000",parser:function(t,e,n,i,r,a){var s=tt(t,"borderTopWidth",o,!1,"0px"),l=this.format(e).split(" "),h=l[0].replace(w,"");return"px"!==h&&(s=parseFloat(s)/et(t,"borderTopWidth",1,h)+h),this.parseComplex(t.style,this.format(s+" "+tt(t,"borderTopStyle",o,!1,"solid")+" "+tt(t,"borderTopColor",o,!1,"#000")),l.join(" "),r,a)},color:!0,formatter:function(t){var e=t.split(" ");return e[0]+" "+(e[1]||"solid")+" "+(t.match(gt)||["#000"])[0]}}),Tt("borderWidth",{parser:yt("borderTopWidth,borderRightWidth,borderBottomWidth,borderLeftWidth")}),Tt("float,cssFloat,styleFloat",{parser:function(t,e,n,i,r,o){var a=t.style,s="cssFloat"in a?"cssFloat":"styleFloat";return new bt(a,s,0,0,r,(-1),n,(!1),0,a[s],e)}});var Yt=function(t){var e,n=this.t,i=n.filter||tt(this.data,"filter")||"",r=this.s+this.c*t|0;100===r&&(i.indexOf("atrix(")===-1&&i.indexOf("radient(")===-1&&i.indexOf("oader(")===-1?(n.removeAttribute("filter"),e=!tt(this.data,"filter")):(n.filter=i.replace(S,""),e=!0)),e||(this.xn1&&(n.filter=i=i||"alpha(opacity="+r+")"),i.indexOf("pacity")===-1?0===r&&this.xn1||(n.filter=i+" alpha(opacity="+r+")"):n.filter=i.replace(E,"opacity="+r))};Tt("opacity,alpha,autoAlpha",{defaultValue:"1",parser:function(t,e,n,i,r,a){var s=parseFloat(tt(t,"opacity",o,!1,"1")),l=t.style,h="autoAlpha"===n;return"string"==typeof e&&"="===e.charAt(1)&&(e=("-"===e.charAt(0)?-1:1)*parseFloat(e.substr(2))+s),h&&1===s&&"hidden"===tt(t,"visibility",o)&&0!==e&&(s=0),Y?r=new bt(l,"opacity",s,e-s,r):(r=new bt(l,"opacity",100*s,100*(e-s),r),r.xn1=h?1:0,l.zoom=1,r.type=2,r.b="alpha(opacity="+r.s+")",r.e="alpha(opacity="+(r.s+r.c)+")",r.data=t,r.plugin=a,r.setRatio=Yt),h&&(r=new bt(l,"visibility",0,0,r,(-1),null,(!1),0,0!==s?"inherit":"hidden",0===e?"hidden":"inherit"),r.xs0="inherit",i._overwriteProps.push(r.n),i._overwriteProps.push(n)),r}});var Kt=function(t,e){e&&(t.removeProperty?("ms"!==e.substr(0,2)&&"webkit"!==e.substr(0,6)||(e="-"+e),t.removeProperty(e.replace(C,"-$1").toLowerCase())):t.removeAttribute(e))},Zt=function(t){if(this.t._gsClassPT=this,1===t||0===t){this.t.setAttribute("class",0===t?this.b:this.e);for(var e=this.data,n=this.t.style;e;)e.v?n[e.p]=e.v:Kt(n,e.p),e=e._next;1===t&&this.t._gsClassPT===this&&(this.t._gsClassPT=null)}else this.t.getAttribute("class")!==this.e&&this.t.setAttribute("class",this.e)};
vendor: 4,677 bytes, line 8
8Tt("className",{parser:function(t,e,n,r,a,s,l){var h,c,u,p,d,f=t.getAttribute("class")||"",m=t.style.cssText;if(a=r._classNamePT=new bt(t,n,0,0,a,2),a.setRatio=Zt,a.pr=-11,i=!0,a.b=f,c=it(t,o),u=t._gsClassPT){for(p={},d=u.data;d;)p[d.p]=1,d=d._next;u.setRatio(1)}return t._gsClassPT=a,a.e="="!==e.charAt(1)?e:f.replace(new RegExp("(?:\\s|^)"+e.substr(2)+"(?![\\w-])"),"")+("+"===e.charAt(0)?" "+e.substr(2):""),t.setAttribute("class",a.e),h=rt(t,c,it(t),l,p),t.setAttribute("class",f),a.data=h.firstMPT,t.style.cssText=m,a=a.xfirst=r.parse(t,h.difs,a,s)}});var qt=function(t){if((1===t||0===t)&&this.data._totalTime===this.data._totalDuration&&"isFromStart"!==this.data.data){var e,n,i,r,o,a=this.t.style,s=h.transform.parse;if("all"===this.e)a.cssText="",r=!0;else for(e=this.e.split(" ").join("").split(","),i=e.length;--i>-1;)n=e[i],h[n]&&(h[n].parse===s?r=!0:n="transformOrigin"===n?Rt:h[n].p),Kt(a,n);r&&(Kt(a,Pt),o=this.t._gsTransform,o&&(o.svg&&(this.t.removeAttribute("data-svg-origin"),this.t.removeAttribute("transform")),delete this.t._gsTransform))}};for(Tt("clearProps",{parser:function(t,e,n,r,o){return o=new bt(t,n,0,0,o,2),o.setRatio=qt,o.e=e,o.pr=-10,o.data=r._tween,i=!0,o}}),c="bezier,throwProps,physicsProps,physics2D".split(","),wt=c.length;wt--;)St(c[wt]);c=s.prototype,c._firstPT=c._lastParsedTransform=c._transform=null,c._onInitTween=function(t,e,n,l){if(!t.nodeType)return!1;this._target=v=t,this._tween=n,this._vars=e,y=l,u=e.autoRound,i=!1,r=e.suffixMap||s.suffixMap,o=$(t,""),a=this._overwriteProps;var c,f,g,_,b,x,A,w,E,S=t.style;if(p&&""===S.zIndex&&(c=tt(t,"zIndex",o),"auto"!==c&&""!==c||this._addLazySet(S,"zIndex",0)),"string"==typeof e&&(_=S.cssText,c=it(t,o),S.cssText=_+";"+e,c=rt(t,c,it(t)).difs,!Y&&T.test(e)&&(c.opacity=parseFloat(RegExp.$1)),e=c,S.cssText=_),e.className?this._firstPT=f=h.className.parse(t,e.className,"className",this,null,null,e):this._firstPT=f=this.parse(t,e,null),this._transformType){for(E=3===this._transformType,Pt?d&&(p=!0,""===S.zIndex&&(A=tt(t,"zIndex",o),"auto"!==A&&""!==A||this._addLazySet(S,"zIndex",0)),m&&this._addLazySet(S,"WebkitBackfaceVisibility",this._vars.WebkitBackfaceVisibility||(E?"visible":"hidden"))):S.zoom=1,g=f;g&&g._next;)g=g._next;w=new bt(t,"transform",0,0,null,2),this._linkCSSP(w,null,g),w.setRatio=Pt?Wt:Xt,w.data=this._transform||jt(t,o,!0),w.tween=n,w.pr=-1,a.pop()}if(i){for(;f;){for(x=f._next,g=_;g&&g.pr>f.pr;)g=g._next;(f._prev=g?g._prev:b)?f._prev._next=f:_=f,(f._next=g)?g._prev=f:b=f,f=x}this._firstPT=_}return!0},c.parse=function(t,e,n,i){var a,s,l,c,p,d,f,m,g,_,b=t.style;for(a in e){if(d=e[a],"function"==typeof d&&(d=d(y,v)),s=h[a])n=s.parse(t,d,a,this,n,i,e);else{if("--"===a.substr(0,2)){this._tween._propLookup[a]=this._addTween.call(this._tween,t.style,"setProperty",$(t).getPropertyValue(a)+"",d+"",a,!1,a);continue}p=tt(t,a,o)+"",g="string"==typeof d,"color"===a||"fill"===a||"stroke"===a||a.indexOf("Color")!==-1||g&&M.test(d)?(g||(d=ft(d),d=(d.length>3?"rgba(":"rgb(")+d.join(",")+")"),n=At(b,a,p,d,!0,"transparent",n,0,i)):g&&B.test(d)?n=At(b,a,p,d,!0,null,n,0,i):(l=parseFloat(p),f=l||0===l?p.substr((l+"").length):"",""!==p&&"auto"!==p||("width"===a||"height"===a?(l=st(t,a,o),f="px"):"left"===a||"top"===a?(l=nt(t,a,o),f="px"):(l="opacity"!==a?0:1,f="")),_=g&&"="===d.charAt(1),_?(c=parseInt(d.charAt(0)+"1",10),d=d.substr(2),c*=parseFloat(d),m=d.replace(w,"")):(c=parseFloat(d),m=g?d.replace(w,""):""),""===m&&(m=a in r?r[a]:f),d=c||0===c?(_?c+l:c)+m:e[a],f!==m&&(""===m&&"lineHeight"!==a||(c||0===c)&&l&&(l=et(t,a,l,f),"%"===m?(l/=et(t,a,100,"%")/100,e.strictUnits!==!0&&(p=l+"%")):"em"===m||"rem"===m||"vw"===m||"vh"===m?l/=et(t,a,1,m):"px"!==m&&(c=et(t,a,c,m),m="px"),_&&(c||0===c)&&(d=c+l+m))),_&&(c+=l),!l&&0!==l||!c&&0!==c?void 0!==b[a]&&(d||d+""!="NaN"&&null!=d)?(n=new bt(b,a,c||l||0,0,n,(-1),a,(!1),0,p,d),n.xs0="none"!==d||"display"!==a&&a.indexOf("Style")===-1?d:p):Z("invalid "+a+" tween value: "+e[a]):(n=new bt(b,a,l,c-l,n,0,a,u!==!1&&("px"===m||"zIndex"===a),0,p,d),n.xs0=m))}i&&n&&!n.plugin&&(n.plugin=i)}return n},c.setRatio=function(t){var e,n,i,r=this._firstPT,o=1e-6;if(1!==t||this._tween._time!==this._tween._duration&&0!==this._tween._time)if(t||this._tween._time!==this._tween._duration&&0!==this._tween._time||this._tween._rawPrevTime===-1e-6)for(;r;){if(e=r.c*t+r.s,r.r?e=Math.round(e):e<o&&e>-o&&(e=0),r.type)if(1===r.type)if(i=r.l,2===i)r.t[r.p]=r.xs0+e+r.xs1+r.xn1+r.xs2;else if(3===i)r.t[r.p]=r.xs0+e+r.xs1+r.xn1+r.xs2+r.xn2+r.xs3;else if(4===i)r.t[r.p]=r.xs0+e+r.xs1+r.xn1+r.xs2+r.xn2+r.xs3+r.xn3+r.xs4;else if(5===i)r.t[r.p]=r.xs0+e+r.xs1+r.xn1+r.xs2+r.xn2+r.xs3+r.xn3+r.xs4+r.xn4+r.xs5;else{for(n=r.xs0+e+r.xs1,i=1;i<r.l;
vendor: 26,921 bytes, lines 8-9
8i++)n+=r["xn"+i]+r["xs"+(i+1)];r.t[r.p]=n}else r.type===-1?r.t[r.p]=r.xs0:r.setRatio&&r.setRatio(t);else r.t[r.p]=e+r.xs0;r=r._next}else for(;r;)2!==r.type?r.t[r.p]=r.b:r.setRatio(t),r=r._next;else for(;r;){if(2!==r.type)if(r.r&&r.type!==-1)if(e=Math.round(r.s+r.c),r.type){if(1===r.type){for(i=r.l,n=r.xs0+e+r.xs1,i=1;i<r.l;i++)n+=r["xn"+i]+r["xs"+(i+1)];r.t[r.p]=n}}else r.t[r.p]=e+r.xs0;else r.t[r.p]=r.e;else r.setRatio(t);r=r._next}},c._enableTransforms=function(t){this._transform=this._transform||jt(this._target,o,!0),this._transformType=this._transform.svg&&Mt||!t&&3!==this._transformType?2:3};var Qt=function(t){this.t[this.p]=this.e,this.data._linkCSSP(this,this._next,null,!0)};c._addLazySet=function(t,e,n){var i=this._firstPT=new bt(t,e,0,0,this._firstPT,2);i.e=n,i.setRatio=Qt,i.data=this},c._linkCSSP=function(t,e,n,i){return t&&(e&&(e._prev=t),t._next&&(t._next._prev=t._prev),t._prev?t._prev._next=t._next:this._firstPT===t&&(this._firstPT=t._next,i=!0),n?n._next=t:i||null!==this._firstPT||(this._firstPT=t),t._next=e,t._prev=n),t},c._mod=function(t){for(var e=this._firstPT;e;)"function"==typeof t[e.p]&&t[e.p]===Math.round&&(e.r=1),e=e._next},c._kill=function(e){var n,i,r,o=e;if(e.autoAlpha||e.alpha){o={};for(i in e)o[i]=e[i];o.opacity=1,o.autoAlpha&&(o.visibility=1)}for(e.className&&(n=this._classNamePT)&&(r=n.xfirst,r&&r._prev?this._linkCSSP(r._prev,n._next,r._prev._prev):r===this._firstPT&&(this._firstPT=n._next),n._next&&this._linkCSSP(n._next,n._next._next,r._prev),this._classNamePT=null),n=this._firstPT;n;)n.plugin&&n.plugin!==i&&n.plugin._kill&&(n.plugin._kill(e),i=n.plugin),n=n._next;return t.prototype._kill.call(this,o)};var Jt=function(t,e,n){var i,r,o,a;if(t.slice)for(r=t.length;--r>-1;)Jt(t[r],e,n);else for(i=t.childNodes,r=i.length;--r>-1;)o=i[r],a=o.type,o.style&&(e.push(it(o)),n&&n.push(o)),1!==a&&9!==a&&11!==a||!o.childNodes.length||Jt(o,e,n)};return s.cascadeTo=function(t,n,i){var r,o,a,s,l=e.to(t,n,i),h=[l],c=[],u=[],p=[],d=e._internals.reservedProps;for(t=l._targets||l.target,Jt(t,c,p),l.render(n,!0,!0),Jt(t,u),l.render(0,!0,!0),l._enabled(!0),r=p.length;--r>-1;)if(o=rt(p[r],c[r],u[r]),o.firstMPT){o=o.difs;for(a in i)d[a]&&(o[a]=i[a]);s={};for(a in o)s[a]=c[r][a];h.push(e.fromTo(p[r],n,s,o))}return h},t.activate([s]),s},!0),function(){var t=n._gsDefine.plugin({propName:"roundProps",version:"1.6.0",priority:-1,API:2,init:function(t,e,n){return this._tween=n,!0}}),e=function(t){for(;t;)t.f||t.blob||(t.m=Math.round),t=t._next},i=t.prototype;i._onInitAllProps=function(){for(var t,n,i,r=this._tween,o=r.vars.roundProps.join?r.vars.roundProps:r.vars.roundProps.split(","),a=o.length,s={},l=r._propLookup.roundProps;--a>-1;)s[o[a]]=Math.round;for(a=o.length;--a>-1;)for(t=o[a],n=r._firstPT;n;)i=n._next,n.pg?n.t._mod(s):n.n===t&&(2===n.f&&n.t?e(n.t._firstPT):(this._add(n.t,t,n.s,n.c),i&&(i._prev=n._prev),n._prev?n._prev._next=i:r._firstPT===n&&(r._firstPT=i),n._next=n._prev=null,r._propLookup[t]=l)),n=i;return!1},i._add=function(t,e,n,i){this._addTween(t,e,n,n+i,e,Math.round),this._overwriteProps.push(e)}}(),function(){n._gsDefine.plugin({propName:"attr",API:2,version:"0.6.1",init:function(t,e,n,i){var r,o;if("function"!=typeof t.setAttribute)return!1;for(r in e)o=e[r],"function"==typeof o&&(o=o(i,t)),this._addTween(t,"setAttribute",t.getAttribute(r)+"",o+"",r,!1,r),this._overwriteProps.push(r);return!0}})}(),n._gsDefine.plugin({propName:"directionalRotation",version:"0.3.1",API:2,init:function(t,e,n,i){"object"!=typeof e&&(e={rotation:e}),this.finals={};var r,o,a,s,l,h,c=e.useRadians===!0?2*Math.PI:360,u=1e-6;for(r in e)"useRadians"!==r&&(s=e[r],"function"==typeof s&&(s=s(i,t)),h=(s+"").split("_"),o=h[0],a=parseFloat("function"!=typeof t[r]?t[r]:t[r.indexOf("set")||"function"!=typeof t["get"+r.substr(3)]?r:"get"+r.substr(3)]()),s=this.finals[r]="string"==typeof o&&"="===o.charAt(1)?a+parseInt(o.charAt(0)+"1",10)*Number(o.substr(2)):Number(o)||0,l=s-a,h.length&&(o=h.join("_"),o.indexOf("short")!==-1&&(l%=c,l!==l%(c/2)&&(l=l<0?l+c:l-c)),o.indexOf("_cw")!==-1&&l<0?l=(l+9999999999*c)%c-(l/c|0)*c:o.indexOf("ccw")!==-1&&l>0&&(l=(l-9999999999*c)%c-(l/c|0)*c)),(l>u||l<-u)&&(this._addTween(t,r,a,a+l,r),this._overwriteProps.push(r)));return!0},set:function(t){var e;if(1!==t)this._super.setRatio.call(this,t);else for(e=this._firstPT;e;)e.f?e.t[e.p](this.finals[e.p]):e.t[e.p]=this.finals[e.p],e=e._next}})._autoCSS=!0,n._gsDefine("easing.Back",["easing.Ease"],function(t){var e,i,r,o,a=n.GreenSockGlobals||n,s=a.com.greensock,l=2*Math.PI,h=Math.PI/2,c=s._class,u=function(e,n){var i=c("easing."+e,function(){},!0),r=i.prototype=new t;return r.constructor=i,r.getRatio=n,i},p=t.register||function(){},d=function(t,e,n,i,r){var o=c("easing."+t,{easeOut:new e,easeIn:new n,easeInOut:new i},!0);return p(o,t),o},f=function(t,e,n){this.t=t,this.v=e,n&&(this.next=n,n.prev=this,this.c=n.v-e,this.gap=n.t-t)},m=function(e,n){var i=c("easing."+e,function(t){this._p1=t||0===t?t:1.70158,this._p2=1.525*this._p1},!0),r=i.prototype=new t;return r.constructor=i,r.getRatio=n,r.config=function(t){return new i(t)},i},g=d("Back",m("BackOut",function(t){return(t-=1)*t*((this._p1+1)*t+this._p1)+1}),m("BackIn",function(t){return t*t*((this._p1+1)*t-this._p1)}),m("BackInOut",function(t){return(t*=2)<1?.5*t*t*((this._p2+1)*t-this._p2):.5*((t-=2)*t*((this._p2+1)*t+this._p2)+2)})),v=c("easing.SlowMo",function(t,e,n){e=e||0===e?e:.7,null==t?t=.7:t>1&&(t=1),this._p=1!==t?e:0,this._p1=(1-t)/2,this._p2=t,this._p3=this._p1+this._p2,this._calcEnd=n===!0},!0),y=v.prototype=new t;return y.constructor=v,y.getRatio=function(t){var e=t+(.5-t)*this._p;return t<this._p1?this._calcEnd?1-(t=1-t/this._p1)*t:e-(t=1-t/this._p1)*t*t*t*e:t>this._p3?this._calcEnd?1===t?0:1-(t=(t-this._p3)/this._p1)*t:e+(t-e)*(t=(t-this._p3)/this._p1)*t*t*t:this._calcEnd?1:e},v.ease=new v(.7,.7),y.config=v.config=function(t,e,n){return new v(t,e,n)},e=c("easing.SteppedEase",function(t,e){t=t||1,this._p1=1/t,this._p2=t+(e?0:1),this._p3=e?1:0},!0),y=e.prototype=new t,y.constructor=e,y.getRatio=function(t){return t<0?t=0:t>=1&&(t=.999999999),((this._p2*t|0)+this._p3)*this._p1},y.config=e.config=function(t,n){return new e(t,n)},i=c("easing.ExpoScaleEase",function(t,e,n){this._p1=Math.log(e/t),this._p2=e-t,this._p3=t,this._ease=n},!0),y=i.prototype=new t,y.constructor=i,y.getRatio=function(t){return this._ease&&(t=this._ease.getRatio(t)),(this._p3*Math.exp(this._p1*t)-this._p3)/this._p2},y.config=i.config=function(t,e,n){return new i(t,e,n)},r=c("easing.RoughEase",function(e){e=e||{};for(var n,i,r,o,a,s,l=e.taper||"none",h=[],c=0,u=0|(e.points||20),p=u,d=e.randomize!==!1,m=e.clamp===!0,g=e.template instanceof t?e.template:null,v="number"==typeof e.strength?.4*e.strength:.4;--p>-1;)n=d?Math.random():1/u*p,i=g?g.getRatio(n):n,"none"===l?r=v:"out"===l?(o=1-n,r=o*o*v):"in"===l?r=n*n*v:n<.5?(o=2*n,r=o*o*.5*v):(o=2*(1-n),r=o*o*.5*v),d?i+=Math.random()*r-.5*r:p%2?i+=.5*r:i-=.5*r,m&&(i>1?i=1:i<0&&(i=0)),h[c++]={x:n,y:i};for(h.sort(function(t,e){return t.x-e.x}),s=new f(1,1,null),p=u;--p>-1;)a=h[p],s=new f(a.x,a.y,s);this._prev=new f(0,0,0!==s.t?s:s.next)},!0),y=r.prototype=new t,y.constructor=r,y.getRatio=function(t){var e=this._prev;if(t>e.t){for(;e.next&&t>=e.t;)e=e.next;e=e.prev}else for(;e.prev&&t<=e.t;)e=e.prev;return this._prev=e,e.v+(t-e.t)/e.gap*e.c},y.config=function(t){return new r(t)},r.ease=new r,d("Bounce",u("BounceOut",function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375}),u("BounceIn",function(t){return(t=1-t)<1/2.75?1-7.5625*t*t:t<2/2.75?1-(7.5625*(t-=1.5/2.75)*t+.75):t<2.5/2.75?1-(7.5625*(t-=2.25/2.75)*t+.9375):1-(7.5625*(t-=2.625/2.75)*t+.984375)}),u("BounceInOut",function(t){var e=t<.5;return t=e?1-2*t:2*t-1,t=t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375,e?.5*(1-t):.5*t+.5})),d("Circ",u("CircOut",function(t){return Math.sqrt(1-(t-=1)*t)}),u("CircIn",function(t){return-(Math.sqrt(1-t*t)-1)}),u("CircInOut",function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)})),o=function(e,n,i){var r=c("easing."+e,function(t,e){this._p1=t>=1?t:1,this._p2=(e||i)/(t<1?t:1),this._p3=this._p2/l*(Math.asin(1/this._p1)||0),this._p2=l/this._p2},!0),o=r.prototype=new t;return o.constructor=r,o.getRatio=n,o.config=function(t,e){return new r(t,e)},r},d("Elastic",o("ElasticOut",function(t){return this._p1*Math.pow(2,-10*t)*Math.sin((t-this._p3)*this._p2)+1},.3),o("ElasticIn",function(t){return-(this._p1*Math.pow(2,10*(t-=1))*Math.sin((t-this._p3)*this._p2))},.3),o("ElasticInOut",function(t){return(t*=2)<1?-.5*(this._p1*Math.pow(2,10*(t-=1))*Math.sin((t-this._p3)*this._p2)):this._p1*Math.pow(2,-10*(t-=1))*Math.sin((t-this._p3)*this._p2)*.5+1},.45)),d("Expo",u("ExpoOut",function(t){return 1-Math.pow(2,-10*t)}),u("ExpoIn",function(t){return Math.pow(2,10*(t-1))-.001}),u("ExpoInOut",function(t){return(t*=2)<1?.5*Math.pow(2,10*(t-1)):.5*(2-Math.pow(2,-10*(t-1)))})),d("Sine",u("SineOut",function(t){return Math.sin(t*h)}),u("SineIn",function(t){return-Math.cos(t*h)+1}),u("SineInOut",function(t){return-.5*(Math.cos(Math.PI*t)-1)})),c("easing.EaseLookup",{find:function(e){return t.map[e]}},!0),p(a.SlowMo,"SlowMo","ease,"),p(r,"RoughEase","ease,"),p(e,"SteppedEase","ease,"),g},!0)}),n._gsDefine&&n._gsQueue.pop()(),function(t,n){"use strict";var i={},r=t.document,o=t.GreenSockGlobals=t.GreenSockGlobals||t;if(!o.TweenLite){var a,s,l,h,c,u=function(t){var e,n=t.split("."),i=o;for(e=0;e<n.length;e++)i[n[e]]=i=i[n[e]]||{};return i},p=u("com.greensock"),d=1e-10,f=function(t){var e,n=[],i=t.length;for(e=0;e!==i;n.push(t[e++]));return n},m=function(){},g=function(){var t=Object.prototype.toString,e=t.call([]);return function(n){return null!=n&&(n instanceof Array||"object"==typeof n&&!!n.push&&t.call(n)===e)}}(),v={},y=function(r,a,s,l){this.sc=v[r]?v[r].sc:[],v[r]=this,this.gsClass=null,this.func=s;var h=[];this.check=function(c){for(var p,d,f,m,g=a.length,_=g;--g>-1;)(p=v[a[g]]||new y(a[g],[])).gsClass?(h[g]=p.gsClass,_--):c&&p.sc.push(this);if(0===_&&s){if(d=("com.greensock."+r).split("."),f=d.pop(),m=u(d.join("."))[f]=this.gsClass=s.apply(s,h),l)if(o[f]=i[f]=m,"undefined"!=typeof e&&e.exports)if(r===n){e.exports=i[n]=m;for(g in i)m[g]=i[g]}else i[n]&&(i[n][f]=m);else"function"==typeof define&&define.amd&&define((t.GreenSockAMDPath?t.GreenSockAMDPath+"/":"")+r.split(".").pop(),[],function(){return m});for(g=0;g<this.sc.length;g++)this.sc[g].check()}},this.check(!0)},_=t._gsDefine=function(t,e,n,i){return new y(t,e,n,i)},b=p._class=function(t,e,n){return e=e||function(){},_(t,[],function(){return e},n),e};_.globals=o;var x=[0,0,1,1],A=b("easing.Ease",function(t,e,n,i){this._func=t,this._type=n||0,this._power=i||0,this._params=e?x.concat(e):x},!0),w=A.map={},E=A.register=function(t,e,n,i){for(var r,o,a,s,l=e.split(","),h=l.length,c=(n||"easeIn,easeOut,easeInOut").split(",");--h>-1;)for(o=l[h],r=i?b("easing."+o,null,!0):p.easing[o]||{},a=c.length;--a>-1;)s=c[a],w[o+"."+s]=w[s+o]=r[s]=t.getRatio?t:t[s]||new t};for(l=A.prototype,l._calcEnd=!1,l.getRatio=function(t){if(this._func)return this._params[0]=t,this._func.apply(null,this._params);var e=this._type,n=this._power,i=1===e?1-t:2===e?t:t<.5?2*t:2*(1-t);return 1===n?i*=i:2===n?i*=i*i:3===n?i*=i*i*i:4===n&&(i*=i*i*i*i),1===e?1-i:2===e?i:t<.5?i/2:1-i/2},a=["Linear","Quad","Cubic","Quart","Quint,Strong"],s=a.length;--s>-1;)l=a[s]+",Power"+s,E(new A(null,null,1,s),l,"easeOut",!0),E(new A(null,null,2,s),l,"easeIn"+(0===s?",easeNone":"")),E(new A(null,null,3,s),l,"easeInOut");w.linear=p.easing.Linear.easeIn,w.swing=p.easing.Quad.easeInOut;var T=b("events.EventDispatcher",function(t){this._listeners={},this._eventTarget=t||this});l=T.prototype,l.addEventListener=function(t,e,n,i,r){r=r||0;var o,a,s=this._listeners[t],l=0;for(this!==h||c||h.wake(),null==s&&(this._listeners[t]=s=[]),a=s.length;--a>-1;)o=s[a],o.c===e&&o.s===n?s.splice(a,1):0===l&&o.pr<r&&(l=a+1);s.splice(l,0,{c:e,s:n,up:i,pr:r})},l.removeEventListener=function(t,e){var n,i=this._listeners[t];if(i)for(n=i.length;--n>-1;)if(i[n].c===e)return void i.splice(n,1)},l.dispatchEvent=function(t){var e,n,i,r=this._listeners[t];if(r)for(e=r.length,e>1&&(r=r.slice(0)),n=this._eventTarget;--e>-1;)i=r[e],i&&(i.up?i.c.call(i.s||n,{type:t,target:n}):i.c.call(i.s||n))};var S=t.requestAnimationFrame,M=t.cancelAnimationFrame,C=Date.now||function(){return(new Date).getTime()},P=C();for(a=["ms","moz","webkit","o"],s=a.length;--s>-1&&!S;)S=t[a[s]+"RequestAnimationFrame"],M=t[a[s]+"CancelAnimationFrame"]||t[a[s]+"CancelRequestAnimationFrame"];b("Ticker",function(t,e){var n,i,o,a,s,l=this,u=C(),p=!(e===!1||!S)&&"auto",f=500,g=33,v="tick",y=function(t){var e,r,h=C()-P;h>f&&(u+=h-g),P+=h,l.time=(P-u)/1e3,e=l.time-s,(!n||e>0||t===!0)&&(l.frame++,s+=e+(e>=a?.004:a-e),r=!0),t!==!0&&(o=i(y)),r&&l.dispatchEvent(v)};T.call(l),l.time=l.frame=0,l.tick=function(){y(!0)},l.lagSmoothing=function(t,e){return arguments.length?(f=t||1/d,void(g=Math.min(e,f,0))):f<1/d},l.sleep=function(){null!=o&&(p&&M?M(o):clearTimeout(o),i=m,o=null,l===h&&(c=!1))},l.wake=function(t){null!==o?l.sleep():t?u+=-P+(P=C()):l.frame>10&&(P=C()-f+5),i=0===n?m:p&&S?S:function(t){return setTimeout(t,1e3*(s-l.time)+1|0)},l===h&&(c=!0),y(2)},l.fps=function(t){return arguments.length?(n=t,a=1/(n||60),s=this.time+a,void l.wake()):n},l.useRAF=function(t){return arguments.length?(l.sleep(),p=t,void l.fps(n)):p},l.fps(t),setTimeout(function(){"auto"===p&&l.frame<5&&"hidden"!==(r||{}).visibilityState&&l.useRAF(!1)},1500)}),l=p.Ticker.prototype=new p.events.EventDispatcher,l.constructor=p.Ticker;var L=b("core.Animation",function(t,e){if(this.vars=e=e||{},this._duration=this._totalDuration=t||0,this._delay=Number(e.delay)||0,this._timeScale=1,this._active=e.immediateRender===!0,this.data=e.data,this._reversed=e.reversed===!0,q){c||h.wake();var n=this.vars.useFrames?Z:q;n.add(this,n._time),this.vars.paused&&this.paused(!0)}});h=L.ticker=new p.Ticker,l=L.prototype,l._dirty=l._gc=l._initted=l._paused=!1,l._totalTime=l._time=0,l._rawPrevTime=-1,l._next=l._last=l._onUpdate=l._timeline=l.timeline=null,l._paused=!1;var R=function(){c&&C()-P>2e3&&("hidden"!==(r||{}).visibilityState||!h.lagSmoothing())&&h.wake();var t=setTimeout(R,2e3);t.unref&&t.unref()};R(),l.play=function(t,e){return null!=t&&this.seek(t,e),this.reversed(!1).paused(!1)},l.pause=function(t,e){return null!=t&&this.seek(t,e),this.paused(!0)},l.resume=function(t,e){return null!=t&&this.seek(t,e),this.paused(!1)},l.seek=function(t,e){return this.totalTime(Number(t),e!==!1)},l.restart=function(t,e){return this.reversed(!1).paused(!1).totalTime(t?-this._delay:0,e!==!1,!0)},l.reverse=function(t,e){return null!=t&&this.seek(t||this.totalDuration(),e),this.reversed(!0).paused(!1)},l.render=function(t,e,n){},l.invalidate=function(){return this._time=this._totalTime=0,this._initted=this._gc=!1,this._rawPrevTime=-1,!this._gc&&this.timeline||this._enabled(!0),this},l.isActive=function(){var t,e=this._timeline,n=this._startTime;return!e||!this._gc&&!this._paused&&e.isActive()&&(t=e.rawTime(!0))>=n&&t<n+this.totalDuration()/this._timeScale-1e-7},l._enabled=function(t,e){return c||h.wake(),this._gc=!t,this._active=this.isActive(),e!==!0&&(t&&!this.timeline?this._timeline.add(this,this._startTime-this._delay):!t&&this.timeline&&this._timeline._remove(this,!0)),!1},l._kill=function(t,e){return this._enabled(!1,!1)},l.kill=function(t,e){return this._kill(t,e),this},l._uncache=function(t){for(var e=t?this:this.timeline;e;)e._dirty=!0,e=e.timeline;return this},l._swapSelfInParams=function(t){for(var e=t.length,n=t.concat();--e>-1;)"{self}"===t[e]&&(n[e]=this);return n},l._callback=function(t){var e=this.vars,n=e[t],i=e[t+"Params"],r=e[t+"Scope"]||e.callbackScope||this,o=i?i.length:0;switch(o){case 0:n.call(r);break;case 1:n.call(r,i[0]);break;case 2:n.call(r,i[0],i[1]);break;default:n.apply(r,i)}},l.eventCallback=function(t,e,n,i){if("on"===(t||"").substr(0,2)){var r=this.vars;if(1===arguments.length)return r[t];null==e?delete r[t]:(r[t]=e,r[t+"Params"]=g(n)&&n.join("").indexOf("{self}")!==-1?this._swapSelfInParams(n):n,r[t+"Scope"]=i),"onUpdate"===t&&(this._onUpdate=e)}return this},l.delay=function(t){return arguments.length?(this._timeline.smoothChildTiming&&this.startTime(this._startTime+t-this._delay),this._delay=t,this):this._delay},l.duration=function(t){return arguments.length?(this._duration=this._totalDuration=t,this._uncache(!0),this._timeline.smoothChildTiming&&this._time>0&&this._time<this._duration&&0!==t&&this.totalTime(this._totalTime*(t/this._duration),!0),this):(this._dirty=!1,this._duration)},l.totalDuration=function(t){return this._dirty=!1,arguments.length?this.duration(t):this._totalDuration},l.time=function(t,e){return arguments.length?(this._dirty&&this.totalDuration(),this.totalTime(t>this._duration?this._duration:t,e)):this._time},l.totalTime=function(t,e,n){if(c||h.wake(),!arguments.length)return this._totalTime;if(this._timeline){if(t<0&&!n&&(t+=this.totalDuration()),this._timeline.smoothChildTiming){this._dirty&&this.totalDuration();var i=this._totalDuration,r=this._timeline;if(t>i&&!n&&(t=i),this._startTime=(this._paused?this._pauseTime:r._time)-(this._reversed?i-t:t)/this._timeScale,r._dirty||this._uncache(!1),r._timeline)for(;r._timeline;)r._timeline._time!==(r._startTime+r._totalTime)/r._timeScale&&r.totalTime(r._totalTime,!0),r=r._timeline}this._gc&&this._enabled(!0,!1),this._totalTime===t&&0!==this._duration||(B.length&&J(),this.render(t,e,!1),B.length&&J())}return this},l.progress=l.totalProgress=function(t,e){var n=this.duration();return arguments.length?this.totalTime(n*t,e):n?this._time/n:this.ratio},l.startTime=function(t){return arguments.length?(t!==this._startTime&&(this._startTime=t,this.timeline&&this.timeline._sortChildren&&this.timeline.add(this,t-this._delay)),this):this._startTime},l.endTime=function(t){return this._startTime+(0!=t?this.totalDuration():this.duration())/this._timeScale},l.timeScale=function(t){if(!arguments.length)return this._timeScale;var e,n;for(t=t||d,this._timeline&&this._timeline.smoothChildTiming&&(e=this._pauseTime,n=e||0===e?e:this._timeline.totalTime(),this._startTime=n-(n-this._startTime)*this._timeScale/t),this._timeScale=t,n=this.timeline;n&&n.timeline;)n._dirty=!0,n.totalDuration(),n=n.timeline;return this},l.reversed=function(t){return arguments.length?(t!=this._reversed&&(this._reversed=t,this.totalTime(this._timeline&&!this._timeline.smoothChildTiming?this.totalDuration()-this._totalTime:this._totalTime,!0)),this):this._reversed},l.paused=function(t){if(!arguments.length)return this._paused;var e,n,i=this._timeline;return t!=this._paused&&i&&(c||t||h.wake(),e=i.rawTime(),n=e-this._pauseTime,!t&&i.smoothChildTiming&&(this._startTime+=n,this._uncache(!1)),this._pauseTime=t?e:null,this._paused=t,this._active=this.isActive(),!t&&0!==n&&this._initted&&this.duration()&&(e=i.smoothChildTiming?this._totalTime:(e-this._startTime)/this._timeScale,this.render(e,e===this._totalTime,!0))),this._gc&&!t&&this._enabled(!0,!1),this};var N=b("core.SimpleTimeline",function(t){L.call(this,0,t),this.autoRemoveChildren=this.smoothChildTiming=!0});l=N.prototype=new L,l.constructor=N,l.kill()._gc=!1,l._first=l._last=l._recent=null,l._sortChildren=!1,l.add=l.insert=function(t,e,n,i){var r,o;if(t._startTime=Number(e||0)+t._delay,t._paused&&this!==t._timeline&&(t._pauseTime=t._startTime+(this.rawTime()-t._startTime)/t._timeScale),t.timeline&&t.timeline._remove(t,!0),t.timeline=t._timeline=this,t._gc&&t._enabled(!0,!0),r=this._last,this._sortChildren)for(o=t._startTime;r&&r._startTime>o;)r=r._prev;return r?(t._next=r._next,r._next=t):(t._next=this._first,this._first=t),t._next?t._next._prev=t:this._last=t,t._prev=r,this._recent=t,this._timeline&&this._uncache(!0),this},l._remove=function(t,e){return t.timeline===this&&(e||t._enabled(!1,!0),t._prev?t._prev._next=t._next:this._first===t&&(this._first=t._next),t._next?t._next._prev=t._prev:this._last===t&&(this._last=t._prev),t._next=t._prev=t.timeline=null,t===this._recent&&(this._recent=this._last),this._timeline&&this._uncache(!0)),this},l.render=function(t,e,n){var i,r=this._first;for(this._totalTime=this._time=this._rawPrevTime=t;r;)i=r._next,(r._active||t>=r._startTime&&!r._paused&&!r._gc)&&(r._reversed?r.render((r._dirty?r.totalDuration():r._totalDuration)-(t-r._startTime)*r._timeScale,e,n):r.render((t-r._startTime)*r._timeScale,e,n)),r=i},l.rawTime=function(){return c||h.wake(),this._totalTime};var O=b("TweenLite",function(e,n,i){if(L.call(this,n,i),this.render=O.prototype.render,null==e)throw"Cannot tween a null target.";this.target=e="string"!=typeof e?e:O.selector(e)||e;var r,o,a,s=e.jquery||e.length&&e!==t&&e[0]&&(e[0]===t||e[0].nodeType&&e[0].style&&!e.nodeType),l=this.vars.overwrite;if(this._overwrite=l=null==l?K[O.defaultOverwrite]:"number"==typeof l?l>>0:K[l],(s||e instanceof Array||e.push&&g(e))&&"number"!=typeof e[0])for(this._targets=a=f(e),this._propLookup=[],this._siblings=[],r=0;r<a.length;r++)o=a[r],o?"string"!=typeof o?o.length&&o!==t&&o[0]&&(o[0]===t||o[0].nodeType&&o[0].style&&!o.nodeType)?(a.splice(r--,1),this._targets=a=a.concat(f(o))):(this._siblings[r]=$(o,this,!1),1===l&&this._siblings[r].length>1&&et(o,this,null,1,this._siblings[r])):(o=a[r--]=O.selector(o),"string"==typeof o&&a.splice(r+1,1)):a.splice(r--,1);else this._propLookup={},this._siblings=$(e,this,!1),1===l&&this._siblings.length>1&&et(e,this,null,1,this._siblings);(this.vars.immediateRender||0===n&&0===this._delay&&this.vars.immediateRender!==!1)&&(this._time=-d,this.render(Math.min(0,-this._delay)))},!0),I=function(e){return e&&e.length&&e!==t&&e[0]&&(e[0]===t||e[0].nodeType&&e[0].style&&!e.nodeType)},D=function(t,e){var n,i={};for(n in t)Y[n]||n in e&&"transform"!==n&&"x"!==n&&"y"!==n&&"width"!==n&&"height"!==n&&"className"!==n&&"border"!==n||!(!j[n]||j[n]&&j[n]._autoCSS)||(i[n]=t[n],delete t[n]);t.css=i};l=O.prototype=new L,l.constructor=O,l.kill()._gc=!1,l.ratio=0,l._firstPT=l._targets=l._overwrittenProps=l._startAt=null,l._notifyPluginsOfEnabled=l._lazy=!1,O.version="1.20.4",O.defaultEase=l._ease=new A(null,null,1,1),O.defaultOverwrite="auto",O.ticker=h,O.autoSleep=120,O.lagSmoothing=function(t,e){h.lagSmoothing(t,e)},O.selector=t.$||t.jQuery||function(e){var n=t.$||t.jQuery;return n?(O.selector=n,n(e)):"undefined"==typeof r?e:r.querySelectorAll?r.querySelectorAll(e):r.getElementById("#"===e.charAt(0)?e.substr(1):e)};var B=[],U={},V=/(?:(-|-=|\+=)?\d*\.?\d*(?:e[\-+]?\d+)?)[0-9]/gi,G=/[\+-]=-?[\.\d]/,k=function(t){for(var e,n=this._firstPT,i=1e-6;n;)e=n.blob?1===t&&null!=this.end?this.end:t?this.join(""):this.start:n.c*t+n.s,n.m?e=n.m(e,this._target||n.t):e<i&&e>-i&&!n.blob&&(e=0),n.f?n.fp?n.t[n.p](n.fp,e):n.t[n.p](e):n.t[n.p]=e,n=n._next},H=function(t,e,n,i){var r,o,a,s,l,h,c,u=[],p=0,d="",f=0;for(u.start=t,u.end=e,t=u[0]=t+"",e=u[1]=e+"",n&&(n(u),t=u[0],e=u[1]),u.length=0,r=t.match(V)||[],o=e.match(V)||[],i&&(i._next=null,i.blob=1,u._firstPT=u._applyPT=i),l=o.length,s=0;s<l;s++)c=o[s],h=e.substr(p,e.indexOf(c,p)-p),d+=h||!s?h:",",p+=h.length,f?f=(f+1)%5:"rgba("===h.substr(-5)&&(f=1),c===r[s]||r.length<=s?d+=c:(d&&(u.push(d),d=""),a=parseFloat(r[s]),u.push(a),u._firstPT={_next:u._firstPT,t:u,p:u.length-1,s:a,c:("="===c.charAt(1)?parseInt(c.charAt(0)+"1",10)*parseFloat(c.substr(2)):parseFloat(c)-a)||0,f:0,m:f&&f<4?Math.round:0}),p+=c.length;return d+=e.substr(p),d&&u.push(d),u.setRatio=k,G.test(e)&&(u.end=null),u},F=function(t,e,n,i,r,o,a,s,l){"function"==typeof i&&(i=i(l||0,t)); 9var h,c=typeof t[e],u="function"!==c?"":e.indexOf("set")||"function"!=typeof t["get"+e.substr(3)]?e:"get"+e.substr(3),p="get"!==n?n:u?a?t[u](a):t[u]():t[e],d="string"==typeof i&&"="===i.charAt(1),f={t:t,p:e,s:p,f:"function"===c,pg:0,n:r||e,m:o?"function"==typeof o?o:Math.round:0,pr:0,c:d?parseInt(i.charAt(0)+"1",10)*parseFloat(i.substr(2)):parseFloat(i)-p||0};if(("number"!=typeof p||"number"!=typeof i&&!d)&&(a||isNaN(p)||!d&&isNaN(i)||"boolean"==typeof p||"boolean"==typeof i?(f.fp=a,h=H(p,d?parseFloat(f.s)+f.c+(f.s+"").replace(/[0-9\-\.]/g,""):i,s||O.defaultStringFilter,f),f={t:h,p:"setRatio",s:0,c:1,f:2,pg:0,n:r||e,pr:0,m:0}):(f.s=parseFloat(p),d||(f.c=parseFloat(i)-f.s||0))),f.c)return(f._next=this._firstPT)&&(f._next._prev=f),this._firstPT=f,f},z=O._internals={isArray:g,isSelector:I,lazyTweens:B,blobDif:H},j=O._plugins={},X=z.tweenLookup={},W=0,Y=z.reservedProps={ease:1,delay:1,overwrite:1,onComplete:1,onCompleteParams:1,onCompleteScope:1,useFrames:1,runBackwards:1,startAt:1,onUpdate:1,onUpdateParams:1,onUpdateScope:1,onStart:1,onStartParams:1,onStartScope:1,onReverseComplete:1,onReverseCompleteParams:1,onReverseCompleteScope:1,onRepeat:1,onRepeatParams:1,onRepeatScope:1,easeParams:1,yoyo:1,immediateRender:1,repeat:1,repeatDelay:1,data:1,paused:1,reversed:1,autoCSS:1,lazy:1,onOverwrite:1,callbackScope:1,stringFilter:1,id:1,yoyoEase:1},K={none:0,all:1,auto:2,concurrent:3,allOnStart:4,preexisting:5,"true":1,"false":0},Z=L._rootFramesTimeline=new N,q=L._rootTimeline=new N,Q=30,J=z.lazyRender=function(){var t,e=B.length;for(U={};--e>-1;)t=B[e],t&&t._lazy!==!1&&(t.render(t._lazy[0],t._lazy[1],!0),t._lazy=!1);B.length=0};q._startTime=h.time,Z._startTime=h.frame,q._active=Z._active=!0,setTimeout(J,1),L._updateRoot=O.render=function(){var t,e,n;if(B.length&&J(),q.render((h.time-q._startTime)*q._timeScale,!1,!1),Z.render((h.frame-Z._startTime)*Z._timeScale,!1,!1),B.length&&J(),h.frame>=Q){Q=h.frame+(parseInt(O.autoSleep,10)||120);for(n in X){for(e=X[n].tweens,t=e.length;--t>-1;)e[t]._gc&&e.splice(t,1);0===e.length&&delete X[n]}if(n=q._first,(!n||n._paused)&&O.autoSleep&&!Z._first&&1===h._listeners.tick.length){for(;n&&n._paused;)n=n._next;n||h.sleep()}}},h.addEventListener("tick",L._updateRoot);var $=function(t,e,n){var i,r,o=t._gsTweenID;if(X[o||(t._gsTweenID=o="t"+W++)]||(X[o]={target:t,tweens:[]}),e&&(i=X[o].tweens,i[r=i.length]=e,n))for(;--r>-1;)i[r]===e&&i.splice(r,1);return X[o].tweens},tt=function(t,e,n,i){var r,o,a=t.vars.onOverwrite;return a&&(r=a(t,e,n,i)),a=O.onOverwrite,a&&(o=a(t,e,n,i)),r!==!1&&o!==!1},et=function(t,e,n,i,r){var o,a,s,l;if(1===i||i>=4){for(l=r.length,o=0;o<l;o++)if((s=r[o])!==e)s._gc||s._kill(null,t,e)&&(a=!0);else if(5===i)break;return a}var h,c=e._startTime+d,u=[],p=0,f=0===e._duration;for(o=r.length;--o>-1;)(s=r[o])===e||s._gc||s._paused||(s._timeline!==e._timeline?(h=h||nt(e,0,f),0===nt(s,h,f)&&(u[p++]=s)):s._startTime<=c&&s._startTime+s.totalDuration()/s._timeScale>c&&((f||!s._initted)&&c-s._startTime<=2e-10||(u[p++]=s)));for(o=p;--o>-1;)if(s=u[o],2===i&&s._kill(n,t,e)&&(a=!0),2!==i||!s._firstPT&&s._initted){if(2!==i&&!tt(s,e))continue;s._enabled(!1,!1)&&(a=!0)}return a},nt=function(t,e,n){for(var i=t._timeline,r=i._timeScale,o=t._startTime;i._timeline;){if(o+=i._startTime,r*=i._timeScale,i._paused)return-100;i=i._timeline}return o/=r,o>
vendor: 4,075 bytes, line 9
9e?o-e:n&&o===e||!t._initted&&o-e<2*d?d:(o+=t.totalDuration()/t._timeScale/r)>e+d?0:o-e-d};l._init=function(){var t,e,n,i,r,o,a=this.vars,s=this._overwrittenProps,l=this._duration,h=!!a.immediateRender,c=a.ease;if(a.startAt){this._startAt&&(this._startAt.render(-1,!0),this._startAt.kill()),r={};for(i in a.startAt)r[i]=a.startAt[i];if(r.data="isStart",r.overwrite=!1,r.immediateRender=!0,r.lazy=h&&a.lazy!==!1,r.startAt=r.delay=null,r.onUpdate=a.onUpdate,r.onUpdateParams=a.onUpdateParams,r.onUpdateScope=a.onUpdateScope||a.callbackScope||this,this._startAt=O.to(this.target,0,r),h)if(this._time>0)this._startAt=null;else if(0!==l)return}else if(a.runBackwards&&0!==l)if(this._startAt)this._startAt.render(-1,!0),this._startAt.kill(),this._startAt=null;else{0!==this._time&&(h=!1),n={};for(i in a)Y[i]&&"autoCSS"!==i||(n[i]=a[i]);if(n.overwrite=0,n.data="isFromStart",n.lazy=h&&a.lazy!==!1,n.immediateRender=h,this._startAt=O.to(this.target,0,n),h){if(0===this._time)return}else this._startAt._init(),this._startAt._enabled(!1),this.vars.immediateRender&&(this._startAt=null)}if(this._ease=c=c?c instanceof A?c:"function"==typeof c?new A(c,a.easeParams):w[c]||O.defaultEase:O.defaultEase,a.easeParams instanceof Array&&c.config&&(this._ease=c.config.apply(c,a.easeParams)),this._easeType=this._ease._type,this._easePower=this._ease._power,this._firstPT=null,this._targets)for(o=this._targets.length,t=0;t<o;t++)this._initProps(this._targets[t],this._propLookup[t]={},this._siblings[t],s?s[t]:null,t)&&(e=!0);else e=this._initProps(this.target,this._propLookup,this._siblings,s,0);if(e&&O._onPluginEvent("_onInitAllProps",this),s&&(this._firstPT||"function"!=typeof this.target&&this._enabled(!1,!1)),a.runBackwards)for(n=this._firstPT;n;)n.s+=n.c,n.c=-n.c,n=n._next;this._onUpdate=a.onUpdate,this._initted=!0},l._initProps=function(e,n,i,r,o){var a,s,l,h,c,u;if(null==e)return!1;U[e._gsTweenID]&&J(),this.vars.css||e.style&&e!==t&&e.nodeType&&j.css&&this.vars.autoCSS!==!1&&D(this.vars,e);for(a in this.vars)if(u=this.vars[a],Y[a])u&&(u instanceof Array||u.push&&g(u))&&u.join("").indexOf("{self}")!==-1&&(this.vars[a]=u=this._swapSelfInParams(u,this));else if(j[a]&&(h=new j[a])._onInitTween(e,this.vars[a],this,o)){for(this._firstPT=c={_next:this._firstPT,t:h,p:"setRatio",s:0,c:1,f:1,n:a,pg:1,pr:h._priority,m:0},s=h._overwriteProps.length;--s>-1;)n[h._overwriteProps[s]]=this._firstPT;(h._priority||h._onInitAllProps)&&(l=!0),(h._onDisable||h._onEnable)&&(this._notifyPluginsOfEnabled=!0),c._next&&(c._next._prev=c)}else n[a]=F.call(this,e,a,"get",u,a,0,null,this.vars.stringFilter,o);return r&&this._kill(r,e)?this._initProps(e,n,i,r,o):this._overwrite>1&&this._firstPT&&i.length>1&&et(e,this,n,this._overwrite,i)?(this._kill(n,e),this._initProps(e,n,i,r,o)):(this._firstPT&&(this.vars.lazy!==!1&&this._duration||this.vars.lazy&&!this._duration)&&(U[e._gsTweenID]=!0),l)},l.render=function(t,e,n){var i,r,o,a,s=this._time,l=this._duration,h=this._rawPrevTime;if(t>=l-1e-7&&t>=0)this._totalTime=this._time=l,this.ratio=this._ease._calcEnd?this._ease.getRatio(1):1,this._reversed||(i=!0,r="onComplete",n=n||this._timeline.autoRemoveChildren),0===l&&(this._initted||!this.vars.lazy||n)&&(this._startTime===this._timeline._duration&&(t=0),(h<0||t<=0&&t>=-1e-7||h===d&&"isPause"!==this.data)&&h!==t&&(n=!0,h>d&&(r="onReverseComplete")),this._rawPrevTime=a=!e||t||h===t?t:d);else if(t<1e-7)this._totalTime=this._time=0,this.ratio=this._ease._calcEnd?this._ease.getRatio(0):0,(0!==s||0===l&&h>0)&&(r="onReverseComplete",i=this._reversed),t<0&&(this._active=!1,0===l&&(this._initted||!this.vars.lazy||n)&&(h>=0&&(h!==d||"isPause"!==this.data)&&(n=!0),this._rawPrevTime=a=!e||t||h===t?t:d)),(!this._initted||this._startAt&&this._startAt.progress())&&(n=!0);else if(this._totalTime=this._time=t,this._easeType){var c=t/l,u=this._easeType,p=this._easePower;(1===u||3===u&&c>=.5)&&(c=1-c),3===u&&(c*=2),1===p?c*=c:2===p?c*=c*c:3===p?c*=c*c*c:4===p&&(c*=c*c*c*c),1===u?this.ratio=1-c:2===u?this.ratio=c:t/l<.5?this.ratio=c/2:this.ratio=1-c/2}else this.ratio=this._ease.getRatio(t/l);
vendor: 7,016 bytes, line 9
9if(this._time!==s||n){if(!this._initted){if(this._init(),!this._initted||this._gc)return;if(!n&&this._firstPT&&(this.vars.lazy!==!1&&this._duration||this.vars.lazy&&!this._duration))return this._time=this._totalTime=s,this._rawPrevTime=h,B.push(this),void(this._lazy=[t,e]);this._time&&!i?this.ratio=this._ease.getRatio(this._time/l):i&&this._ease._calcEnd&&(this.ratio=this._ease.getRatio(0===this._time?0:1))}for(this._lazy!==!1&&(this._lazy=!1),this._active||!this._paused&&this._time!==s&&t>=0&&(this._active=!0),0===s&&(this._startAt&&(t>=0?this._startAt.render(t,!0,n):r||(r="_dummyGS")),this.vars.onStart&&(0===this._time&&0!==l||e||this._callback("onStart"))),o=this._firstPT;o;)o.f?o.t[o.p](o.c*this.ratio+o.s):o.t[o.p]=o.c*this.ratio+o.s,o=o._next;this._onUpdate&&(t<0&&this._startAt&&t!==-1e-4&&this._startAt.render(t,!0,n),e||(this._time!==s||i||n)&&this._callback("onUpdate")),r&&(this._gc&&!n||(t<0&&this._startAt&&!this._onUpdate&&t!==-1e-4&&this._startAt.render(t,!0,n),i&&(this._timeline.autoRemoveChildren&&this._enabled(!1,!1),this._active=!1),!e&&this.vars[r]&&this._callback(r),0===l&&this._rawPrevTime===d&&a!==d&&(this._rawPrevTime=0)))}},l._kill=function(t,e,n){if("all"===t&&(t=null),null==t&&(null==e||e===this.target))return this._lazy=!1,this._enabled(!1,!1);e="string"!=typeof e?e||this._targets||this.target:O.selector(e)||e;var i,r,o,a,s,l,h,c,u,p=n&&this._time&&n._startTime===this._startTime&&this._timeline===n._timeline;if((g(e)||I(e))&&"number"!=typeof e[0])for(i=e.length;--i>-1;)this._kill(t,e[i],n)&&(l=!0);else{if(this._targets){for(i=this._targets.length;--i>-1;)if(e===this._targets[i]){s=this._propLookup[i]||{},this._overwrittenProps=this._overwrittenProps||[],r=this._overwrittenProps[i]=t?this._overwrittenProps[i]||{}:"all";break}}else{if(e!==this.target)return!1;s=this._propLookup,r=this._overwrittenProps=t?this._overwrittenProps||{}:"all"}if(s){if(h=t||s,c=t!==r&&"all"!==r&&t!==s&&("object"!=typeof t||!t._tempKill),n&&(O.onOverwrite||this.vars.onOverwrite)){for(o in h)s[o]&&(u||(u=[]),u.push(o));if((u||!t)&&!tt(this,n,e,u))return!1}for(o in h)(a=s[o])&&(p&&(a.f?a.t[a.p](a.s):a.t[a.p]=a.s,l=!0),a.pg&&a.t._kill(h)&&(l=!0),a.pg&&0!==a.t._overwriteProps.length||(a._prev?a._prev._next=a._next:a===this._firstPT&&(this._firstPT=a._next),a._next&&(a._next._prev=a._prev),a._next=a._prev=null),delete s[o]),c&&(r[o]=1);!this._firstPT&&this._initted&&this._enabled(!1,!1)}}return l},l.invalidate=function(){return this._notifyPluginsOfEnabled&&O._onPluginEvent("_onDisable",this),this._firstPT=this._overwrittenProps=this._startAt=this._onUpdate=null,this._notifyPluginsOfEnabled=this._active=this._lazy=!1,this._propLookup=this._targets?{}:[],L.prototype.invalidate.call(this),this.vars.immediateRender&&(this._time=-d,this.render(Math.min(0,-this._delay))),this},l._enabled=function(t,e){if(c||h.wake(),t&&this._gc){var n,i=this._targets;if(i)for(n=i.length;--n>-1;)this._siblings[n]=$(i[n],this,!0);else this._siblings=$(this.target,this,!0)}return L.prototype._enabled.call(this,t,e),!(!this._notifyPluginsOfEnabled||!this._firstPT)&&O._onPluginEvent(t?"_onEnable":"_onDisable",this)},O.to=function(t,e,n){return new O(t,e,n)},O.from=function(t,e,n){return n.runBackwards=!0,n.immediateRender=0!=n.immediateRender,new O(t,e,n)},O.fromTo=function(t,e,n,i){return i.startAt=n,i.immediateRender=0!=i.immediateRender&&0!=n.immediateRender,new O(t,e,i)},O.delayedCall=function(t,e,n,i,r){return new O(e,0,{delay:t,onComplete:e,onCompleteParams:n,callbackScope:i,onReverseComplete:e,onReverseCompleteParams:n,immediateRender:!1,lazy:!1,useFrames:r,overwrite:0})},O.set=function(t,e){return new O(t,0,e)},O.getTweensOf=function(t,e){if(null==t)return[];t="string"!=typeof t?t:O.selector(t)||t;var n,i,r,o;if((g(t)||I(t))&&"number"!=typeof t[0]){for(n=t.length,i=[];--n>-1;)i=i.concat(O.getTweensOf(t[n],e));for(n=i.length;--n>-1;)for(o=i[n],r=n;--r>-1;)o===i[r]&&i.splice(n,1)}else if(t._gsTweenID)for(i=$(t).concat(),n=i.length;--n>-1;)(i[n]._gc||e&&!i[n].isActive())&&i.splice(n,1);return i||[]},O.killTweensOf=O.killDelayedCallsTo=function(t,e,n){"object"==typeof e&&(n=e,e=!1);for(var i=O.getTweensOf(t,e),r=i.length;--r>-1;)i[r]._kill(n,t)};var it=b("plugins.TweenPlugin",function(t,e){this._overwriteProps=(t||"").split(","),this._propName=this._overwriteProps[0],this._priority=e||0,this._super=it.prototype},!0);if(l=it.prototype,it.version="1.19.0",it.API=2,l._firstPT=null,l._addTween=F,l.setRatio=k,l._kill=function(t){var e,n=this._overwriteProps,i=this._firstPT;if(null!=t[this._propName])this._overwriteProps=[];else for(e=n.length;--e>-1;)null!=t[n[e]]&&n.splice(e,1);for(;i;)null!=t[i.n]&&(i._next&&(i._next._prev=i._prev),i._prev?(i._prev._next=i._next,i._prev=null):this._firstPT===i&&(this._firstPT=i._next)),i=i._next;return!1},l._mod=l._roundProps=function(t){for(var e,n=this._firstPT;n;)e=t[this._propName]||null!=n.n&&t[n.n.split(this._propName+"_").join("")],e&&"function"==typeof e&&(2===n.f?n.t._applyPT.m=e:n.m=e),n=n._next},O._onPluginEvent=function(t,e){var n,i,r,o,a,s=e._firstPT;if("_onInitAllProps"===t){for(;s;){for(a=s._next,i=r;i&&i.pr>s.pr;)i=i._next;(s._prev=i?i._prev:o)?s._prev._next=s:r=s,(s._next=i)?i._prev=s:o=s,s=a}s=e._firstPT=r}for(;s;)s.pg&&"function"==typeof s.t[t]&&s.t[t]()&&(n=!0),s=s._next;return n},it.activate=function(t){for(var e=t.length;--e>-1;)t[e].API===it.API&&(j[(new t[e])._propName]=t[e]);return!0},_.plugin=function(t){if(!(t&&t.propName&&t.init&&t.API))throw"illegal plugin definition.";var e,n=t.propName,i=t.priority||0,r=t.overwriteProps,o={init:"_onInitTween",set:"setRatio",kill:"_kill",round:"_mod",mod:"_mod",initAll:"_onInitAllProps"},a=b("plugins."+n.charAt(0).toUpperCase()+n.substr(1)+"Plugin",function(){it.call(this,n,i),this._overwriteProps=r||[]},t.global===!0),s=a.prototype=new it(n);s.constructor=a,a.API=t.API;for(e in o)"function"==typeof t[e]&&(s[o[e]]=t[e]);return a.version=t.version,it.activate([a]),a},a=t._gsQueue){for(s=0;s<a.length;s++)a[s]();for(l in v)v[l].func||t.console.log("GSAP encountered missing dependency: "+l)}c=!1}}("undefined"!=typeof e&&e.exports&&"undefined"!=typeof t?t:this||window,"TweenMax")}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],62:[function(t,e,n){!function(t,i){"object"==typeof n?e.exports=i(t,t.document):"function"==typeof define&&define.amd?define(function(){return i(t,t.document)}):t.Sketch=i(t,t.document)}("undefined"!=typeof window?window:this,function(t,e){"use strict";function n(t){return"[object Array]"==Object.prototype.toString.call(t)}function i(t){return"function"==typeof t}function r(t){return"number"==typeof t}function o(t){return"string"==typeof t}function a(t){return w[t]||String.fromCharCode(t)}function s(t,e,n){for(var i in e)!n&&i in t||(t[i]=e[i]);return t}function l(t,e){return function(){t.apply(e,arguments)}}function h(t){var e={};for(var n in t)"webkitMovementX"!==n&&"webkitMovementY"!==n&&(i(t[n])?e[n]=l(t[n],t):e[n]=t[n]);return e}
9function c(t){function e(e){i(e)&&e.apply(t,[].splice.call(arguments,1))}function n(t){for(I=0;I<tt.length;I++)U=tt[I],o(U)?P[(t?"add":"remove")+"EventListener"].call(P,U,C,!1):i(U)?C=U:P=U}function r(){N(M),M=R(r),Z||(e(t.setup),Z=i(t.setup)),K||(e(t.resize),K=i(t.resize)),t.running&&!W&&(t.dt=(B=+new Date)-t.now,t.millis+=t.dt,t.now=B,e(t.update),J&&(t.retina&&(t.save(),t.autoclear&&t.scale(q,q)),t.autoclear&&t.clear()),e(t.draw),J&&t.retina&&t.restore()),W=++W%t.interval}function l(){P=Q?t.style:t.canvas,D=Q?"px":"",j=t.width,X=t.height,t.fullscreen&&(X=t.height=b.innerHeight,j=t.width=b.innerWidth),t.retina&&J&&q&&(P.style.height=X+"px",P.style.width=j+"px",j*=q,X*=q),P.height!==X&&(P.height=X+D),P.width!==j&&(P.width=j+D),J&&!t.autoclear&&t.retina&&t.scale(q,q),Z&&e(t.resize)}function c(t,e){return O=e.getBoundingClientRect(),t.x=t.pageX-O.left-(b.scrollX||b.pageXOffset),t.y=t.pageY-O.top-(b.scrollY||b.pageYOffset),t}function u(e,n){return c(e,t.element),n=n||{},n.ox=n.x||e.x,n.oy=n.y||e.y,n.x=e.x,n.y=e.y,n.dx=n.x-n.ox,n.dy=n.y-n.oy,n}function p(t){if(t.preventDefault(),V=h(t),V.originalEvent=t,V.touches)for(Y.length=V.touches.length,I=0;I<V.touches.length;I++)Y[I]=u(V.touches[I],Y[I]);else Y.length=0,Y[0]=u(V,$);return s($,Y[0],!0),V}function d(n){for(n=p(n),F=(z=tt.indexOf(G=n.type))-1,t.dragging=!!/down|start/.test(G)||!/up|end/.test(G)&&t.dragging;F;)o(tt[F])?e(t[tt[F--]],n):o(tt[z])?e(t[tt[z++]],n):F=0}function f(n){k=n.keyCode,H="keyup"==n.type,et[k]=et[a(k)]=!H,e(t[n.type],n)}function m(n){t.autopause&&("blur"==n.type?A:v)(),e(t[n.type],n)}function v(){t.now=+new Date,t.running=!0}function A(){t.running=!1}function E(){(t.running?A:v)()}function T(){J&&t.clearRect(0,0,t.width*q,t.height*q)}function S(){L=t.element.parentNode,I=x.indexOf(t),L&&L.removeChild(t.element),~I&&x.splice(I,1),n(!1),A()}var M,C,P,L,O,I,D,B,U,V,G,k,H,F,z,j,X,W=0,Y=[],K=!1,Z=!1,q=b.devicePixelRatio||1,Q=t.type==y,J=t.type==g,$={x:0,y:0,ox:0,oy:0,dx:0,dy:0},tt=[t.eventTarget||t.element,d,"mousedown","touchstart",d,"mousemove","touchmove",d,"mouseup","touchend",d,"click",d,"mouseout",d,"mouseover",_,f,"keydown","keyup",b,m,"focus","blur",l,"resize"],et={};for(k in w)et[w[k]]=!1;return s(t,{touches:Y,mouse:$,keys:et,dragging:!1,running:!1,millis:0,now:NaN,dt:NaN,destroy:S,toggle:E,clear:T,start:v,stop:A}),x.push(t),t.autostart&&v(),n(!0),l(),r(),t}for(var u,p,d="E LN10 LN2 LOG2E LOG10E PI SQRT1_2 SQRT2 abs acos asin atan ceil cos exp floor log round sin sqrt tan atan2 pow max min".split(" "),f="__hasSketch",m=Math,g="canvas",v="webgl",y="dom",_=e,b=t,x=[],A={fullscreen:!0,autostart:!0,autoclear:!0,autopause:!0,container:_.body,interval:1,globals:!0,retina:!1,type:g},w={8:"BACKSPACE",9:"TAB",13:"ENTER",16:"SHIFT",27:"ESCAPE",32:"SPACE",37:"LEFT",38:"UP",39:"RIGHT",40:"DOWN"},E={CANVAS:g,WEB_GL:v,WEBGL:v,DOM:y,instances:x,install:function(t){if(!t[f]){for(var e=0;e<d.length;e++)t[d[e]]=m[d[e]];s(t,{TWO_PI:2*m.PI,HALF_PI:m.PI/2,QUARTER_PI:m.PI/4,random:function(t,e){return n(t)?t[~~(m.random()*t.length)]:(r(e)||(e=t||1,t=0),t+m.random()*(e-t))},lerp:function(t,e,n){return t+n*(e-t)},map:function(t,e,n,i,r){return(t-e)/(n-e)*(r-i)+i}}),t[f]=!0}},create:function(t){return t=s(t||{},A),t.globals&&E.install(self),u=t.element=t.element||_.createElement(t.type===y?"div":"canvas"),p=t.context=t.context||function(){switch(t.type){case g:return u.getContext("2d",t);case v:return u.getContext("webgl",t)||u.getContext("experimental-webgl",t);case y:return u.canvas=u}}(),(t.container||_.body).appendChild(u),E.augment(p,t)},augment:function(t,e){return e=s(e||{},A),e.element=t.canvas||t,e.element.className+=" sketch",s(t,e,!0),c(t)}},T=["ms","moz","webkit","o"],S=self,M=0,C="AnimationFrame",P="request"+C,L="cancel"+C,R=S[P],N=S[L],O=0;O<T.length&&!R;O++)R=S[T[O]+"Request"+C],N=S[T[O]+"Cancel"+C];return S[P]=R=R||function(t){var e=+new Date,n=m.max(0,16-(e-M)),i=setTimeout(function(){t(e+n)},n);return M=e+n,i},S[L]=N=N||function(t){clearTimeout(t)},E})},{}],63:[function(t,e,n){!function(t,i){"object"==typeof n&&"undefined"!=typeof e?e.exports=i():"function"==typeof define&&define.amd?define(i):t.Stats=i()}(this,function(){var t=function(){function e(t){return r.appendChild(t.dom),t}function n(t){for(var e=0;e<r.children.length;e++)r.children[e].style.display=e===t?"block":"none";i=t}var i=0,r=document.createElement("div");r.style.cssText="position:fixed;top:0;left:0;cursor:pointer;opacity:0.9;z-index:10000",r.addEventListener("click",function(t){t.preventDefault(),n(++i%r.children.length)},!1);var o=(performance||Date).now(),a=o,s=0,l=e(new t.Panel("FPS","#0ff","#002")),h=e(new t.Panel("MS","#0f0","#020"));if(self.performance&&self.performance.memory)var c=e(new t.Panel("MB","#f08","#201"));return n(0),{REVISION:16,dom:r,addPanel:e,showPanel:n,begin:function(){o=(performance||Date).now()},end:function(){s++;var t=(performance||Date).now();if(h.update(t-o,200),t>a+1e3&&(l.update(1e3*s/(t-a),100),a=t,s=0,c)){var e=performance.memory;c.update(e.usedJSHeapSize/1048576,e.jsHeapSizeLimit/1048576)}return t},update:function(){o=this.end()},domElement:r,setMode:n}};return t.Panel=function(t,e,n){var i=1/0,r=0,o=Math.round,a=o(window.devicePixelRatio||1),s=80*a,l=48*a,h=3*a,c=2*a,u=3*a,p=15*a,d=74*a,f=30*a,m=document.createElement("canvas");m.width=s,m.height=l,m.style.cssText="width:80px;height:48px";var g=m.getContext("2d");return g.font="bold "+9*a+"px Helvetica,Arial,sans-serif",g.textBaseline="top",g.fillStyle=n,g.fillRect(0,0,s,l),g.fillStyle=e,g.fillText(t,h,c),g.fillRect(u,p,d,f),g.fillStyle=n,g.globalAlpha=.9,g.fillRect(u,p,d,f),{dom:m,update:function(l,v){i=Math.min(i,l),r=Math.max(r,l),g.fillStyle=n,g.globalAlpha=1,g.fillRect(0,0,s,p),g.fillStyle=e,g.fillText(o(l)+" "+t+" ("+o(i)+"-"+o(r)+")",h,c),g.drawImage(m,u+a,p,d-a,f,u,p,d-a,f),g.fillRect(u+d-a,p,a,f),g.fillStyle=n,g.globalAlpha=.9,g.fillRect(u+d-a,p,a,o((1-l/v)*f))}}},t})},{}],64:[function(t,e,n){e.exports=function(t){function e(e,n){function i(){return 2*Math.PI/60/60*I.autoRotateSpeed}function r(){return Math.pow(.95,I.zoomSpeed)}function o(t){F.theta-=t}function a(t){F.phi-=t}function s(e){I.object instanceof t.PerspectiveCamera?z/=e:I.object instanceof t.Orthogra
9phicCamera?(I.object.zoom=Math.max(I.minZoom,Math.min(I.maxZoom,I.object.zoom*e)),I.object.updateProjectionMatrix(),X=!0):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),I.enableZoom=!1)}function l(e){I.object instanceof t.PerspectiveCamera?z*=e:I.object instanceof t.OrthographicCamera?(I.object.zoom=Math.max(I.minZoom,Math.min(I.maxZoom,I.object.zoom/e)),I.object.updateProjectionMatrix(),X=!0):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),I.enableZoom=!1)}function h(t){W.set(t.clientX,t.clientY)}function c(t){J.set(t.clientX,t.clientY)}function u(t){Z.set(t.clientX,t.clientY)}function p(t){Y.set(t.clientX,t.clientY),K.subVectors(Y,W);var e=I.domElement===document?I.domElement.body:I.domElement;o(2*Math.PI*K.x/e.clientWidth*I.rotateSpeed),a(2*Math.PI*K.y/e.clientHeight*I.rotateSpeed),W.copy(Y),I.update()}function d(t){$.set(t.clientX,t.clientY),tt.subVectors($,J),tt.y>0?s(r()):tt.y<0&&l(r()),J.copy($),I.update()}function f(t){q.set(t.clientX,t.clientY),Q.subVectors(q,Z),it(Q.x,Q.y),Z.copy(q),I.update()}function m(t){}function g(t){t.deltaY<0?l(r()):t.deltaY>0&&s(r()),I.update()}function v(t){switch(t.keyCode){case I.keys.UP:it(0,I.keyPanSpeed),I.update();break;case I.keys.BOTTOM:it(0,-I.keyPanSpeed),I.update();break;case I.keys.LEFT:it(I.keyPanSpeed,0),I.update();break;case I.keys.RIGHT:it(-I.keyPanSpeed,0),I.update()}}function y(t){W.set(t.touches[0].pageX,t.touches[0].pageY)}function _(t){var e=t.touches[0].pageX-t.touches[1].pageX,n=t.touches[0].pageY-t.touches[1].pageY,i=Math.sqrt(e*e+n*n);J.set(0,i)}function b(t){Z.set(t.touches[0].pageX,t.touches[0].pageY)}function x(t){Y.set(t.touches[0].pageX,t.touches[0].pageY),K.subVectors(Y,W);var e=I.domElement===document?I.domElement.body:I.domElement;o(2*Math.PI*K.x/e.clientWidth*I.rotateSpeed),a(2*Math.PI*K.y/e.clientHeight*I.rotateSpeed),W.copy(Y),I.update()}function A(t){var e=t.touches[0].pageX-t.touches[1].pageX,n=t.touches[0].pageY-t.touches[1].pageY,i=Math.sqrt(e*e+n*n);$.set(0,i),tt.subVectors($,J),tt.y>0?l(r()):tt.y<0&&s(r()),J.copy($),I.update()}function w(t){q.set(t.touches[0].pageX,t.touches[0].pageY),Q.subVectors(q,Z),it(Q.x,Q.y),Z.copy(q),I.update()}function E(t){}function T(t){if(I.enabled!==!1){if(t.preventDefault(),t.button===I.mouseButtons.ORBIT){if(I.enableRotate===!1)return;h(t),G=V.ROTATE}else if(t.button===I.mouseButtons.ZOOM){if(I.enableZoom===!1)return;c(t),G=V.DOLLY}else if(t.button===I.mouseButtons.PAN){if(I.enablePan===!1)return;u(t),G=V.PAN}G!==V.NONE&&(document.addEventListener("mousemove",S,!1),document.addEventListener("mouseup",M,!1),I.dispatchEvent(B))}}function S(t){if(I.enabled!==!1)if(t.preventDefault(),G===V.ROTATE){if(I.enableRotate===!1)return;p(t)}else if(G===V.DOLLY){if(I.enableZoom===!1)return;d(t)}else if(G===V.PAN){if(I.enablePan===!1)return;f(t)}}function M(t){I.enabled!==!1&&(m(t),document.removeEventListener("mousemove",S,!1),document.removeEventListener("mouseup",M,!1),I.dispatchEvent(U),G=V.NONE)}function C(t){I.enabled===!1||I.enableZoom===!1||G!==V.NONE&&G!==V.ROTATE||(t.preventDefault(),t.stopPropagation(),g(t),I.dispatchEvent(B),I.dispatchEvent(U))}function P(t){I.enabled!==!1&&I.enableKeys!==!1&&I.enablePan!==!1&&v(t)}function L(t){if(I.enabled!==!1){switch(t.touches.length){case 1:if(I.enableRotate===!1)return;y(t),G=V.TOUCH_ROTATE;break;case 2:if(I.enableZoom===!1)return;_(t),G=V.TOUCH_DOLLY;break;case 3:if(I.enablePan===!1)return;b(t),G=V.TOUCH_PAN;break;default:G=V.NONE}G!==V.NONE&&I.dispatchEvent(B)}}function R(t){if(I.enabled!==!1)switch(t.preventDefault(),t.stopPropagation(),t.touches.length){case 1:if(I.enableRotate===!1)return;if(G!==V.TOUCH_ROTATE)return;x(t);break;case 2:if(I.enableZoom===!1)return;if(G!==V.TOUCH_DOLLY)return;A(t);break;case 3:if(I.enablePan===!1)return;if(G!==V.TOUCH_PAN)return;w(t);break;default:G=V.NONE}}function N(t){I.enabled!==!1&&(E(t),I.dispatchEvent(U),G=V.NONE)}function O(t){t.preventDefault()}this.object=e,this.domElement=void 0!==n?n:document,this.enabled=!0,this.target=new t.Vector3,this.minDistance=0,this.maxDistance=1/0,this.minZoom=0,this.maxZoom=1/0,this.minPolarAngle=0,this.maxPolarAngle=Math.PI,this.minAzimuthAngle=-(1/0),this.maxAzimuthAngle=1/0,this.enableDamping=!1,this.dampingFactor=.25,this.enableZoom=!0,this.zoomSpeed=1,this.enableRotate=!0,this.rotateSpeed=1,this.enablePan=!0,this.keyPanSpeed=7,this.autoRotate=!1,this.autoRotateSpeed=2,this.enableKeys=!0,this.keys={LE
9FT:37,UP:38,RIGHT:39,BOTTOM:40},this.mouseButtons={ORBIT:t.MOUSE.LEFT,ZOOM:t.MOUSE.MIDDLE,PAN:t.MOUSE.RIGHT},this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom,this.getPolarAngle=function(){return H.phi},this.getAzimuthalAngle=function(){return H.theta},this.reset=function(){I.target.copy(I.target0),I.object.position.copy(I.position0),I.object.zoom=I.zoom0,I.object.updateProjectionMatrix(),I.dispatchEvent(D),I.update(),G=V.NONE},this.update=function(){var n=new t.Vector3,r=(new t.Quaternion).setFromUnitVectors(e.up,new t.Vector3(0,1,0)),a=r.clone().inverse(),s=new t.Vector3,l=new t.Quaternion;return function(){var t=I.object.position;return n.copy(t).sub(I.target),n.applyQuaternion(r),H.setFromVector3(n),I.autoRotate&&G===V.NONE&&o(i()),H.theta+=F.theta,H.phi+=F.phi,H.theta=Math.max(I.minAzimuthAngle,Math.min(I.maxAzimuthAngle,H.theta)),H.phi=Math.max(I.minPolarAngle,Math.min(I.maxPolarAngle,H.phi)),H.makeSafe(),H.radius*=z,H.radius=Math.max(I.minDistance,Math.min(I.maxDistance,H.radius)),I.target.add(j),n.setFromSpherical(H),n.applyQuaternion(a),t.copy(I.target).add(n),I.object.lookAt(I.target),I.enableDamping===!0?(F.theta*=1-I.dampingFactor,F.phi*=1-I.dampingFactor):F.set(0,0,0),z=1,j.set(0,0,0),!!(X||s.distanceToSquared(I.object.position)>k||8*(1-l.dot(I.object.quaternion))>k)&&(I.dispatchEvent(D),s.copy(I.object.position),l.copy(I.object.quaternion),X=!1,!0)}}(),this.dispose=function(){I.domElement.removeEventListener("contextmenu",O,!1),I.domElement.removeEventListener("mousedown",T,!1),I.domElement.removeEventListener("wheel",C,!1),I.domElement.removeEventListener("touchstart",L,!1),I.domElement.removeEventListener("touchend",N,!1),I.domElement.removeEventListener("touchmove",R,!1),document.removeEventListener("mousemove",S,!1),document.removeEventListener("mouseup",M,!1),window.removeEventListener("keydown",P,!1)};var I=this,D={type:"change"},B={type:"start"},U={type:"end"},V={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_DOLLY:4,TOUCH_PAN:5},G=V.NONE,k=1e-6,H=new t.Spherical,F=new t.Spherical,z=1,j=new t.Vector3,X=!1,W=new t.Vector2,Y=new t.Vector2,K=new t.Vector2,Z=new t.Vector2,q=new t.Vector2,Q=new t.Vector2,J=new t.Vector2,$=new t.Vector2,tt=new t.Vector2,et=function(){var e=new t.Vector3;return function(t,n){e.setFromMatrixColumn(n,0),e.multiplyScalar(-t),j.add(e)}}(),nt=function(){var e=new t.Vector3;return function(t,n){e.setFromMatrixColumn(n,1),e.multiplyScalar(t),j.add(e)}}(),it=function(){var e=new t.Vector3;return function(n,i){var r=I.domElement===document?I.domElement.body:I.domElement;if(I.object instanceof t.PerspectiveCamera){var o=I.object.position;e.copy(o).sub(I.target);var a=e.length();a*=Math.tan(I.object.fov/2*Math.PI/180),et(2*n*a/r.clientHeight,I.object.matrix),nt(2*i*a/r.clientHeight,I.object.matrix)}else I.object instanceof t.OrthographicCamera?(et(n*(I.object.right-I.object.left)/I.object.zoom/r.clientWidth,I.object.matrix),nt(i*(I.object.top-I.object.bottom)/I.object.zoom/r.clientHeight,I.object.matrix)):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),I.enablePan=!1)}}();I.domElement.addEventListener("contextmenu",O,!1),I.domElement.addEventListener("mousedown",T,!1),I.domElement.addEventListener("wheel",C,!1),I.domElement.addEventListener("touchstart",L,!1),I.domElement.addEventListener("touchend",N,!1),I.domElement.addEventListener("touchmove",R,!1),window.addEventListener("keydown",P,!1),this.update()}return e.prototype=Object.create(t.EventDispatcher.prototype),e.prototype.constructor=e,Object.defineProperties(e.prototype,{center:{get:function(){return console.warn("THREE.OrbitControls: .center has been renamed to .target"),this.target}},noZoom:{get:function(){return console.warn("THREE.OrbitControls: .noZoom has been deprecated. Use .enableZoom instead."),!this.enableZoom},set:function(t){console.warn("THREE.OrbitControls: .noZoom has been deprecated. Use .enableZoom instead."),this.enableZoom=!t}},noRotate:{get:function(){return console.warn("THREE.OrbitControls: .noRotate has been deprecated. Use .enableRotate instead."),!this.enableRotate},set:function(t){console.warn("THREE.OrbitControls: .noRotate has been deprecated. Use .enableRotate instead."),this.enableRotate=!t}},noPan:{get:function(){return console.warn("THREE.OrbitControls: .noPan has been deprecated. Use .enablePan instead."),!this.enablePan},set:function(t){console.warn("THREE.OrbitControls: .noPan has been deprecated. Use .enablePan instead."),this.enablePan=!t}},noKeys:{get:function(){return console.warn("THREE.OrbitControls: .noKeys has been deprecated. Use .enableKeys instead."),!this.enableKeys},set:function(t){console.warn("THREE.OrbitControls: .noKeys has been deprecated. Use .enableKeys instead."),this.enableKeys=!t}},staticMoving:{get:function(){return console.warn("THREE.OrbitControls: .staticMoving has been deprecated. Use .enableDamping instead."),!this.enableDamping},set:function(t){console.warn("THREE.OrbitControls: .staticMoving has been deprecated. Use .enableDamping instead."),this.enableDamping=!t}},dynamicDampingFactor:{get:function(){return console.warn("THREE.OrbitControls: .dynamicDampingFactor has been renamed. Use .dampingFactor instead."),this.dampingFactor},set:function(t){console.warn("THREE.OrbitControls: .dynamicDampingFactor has been renamed. Use .dampingFactor instead."),this.dampingFactor=t}}}),e}},{}],65:[function(t,e,n){!function(t,i){"object"==typeof n&&"undefined"!=typeof e?i(n):"function"==typeof define&&define.amd?define(["exports"],i):i(t.THREE=t.THREE||{})}(this,function(t){"use strict";function e(){}function n(t,e){this.x=t||0,this.y=e||0}function i(t,e,r,o,a,s,l,h,c,u){Object.defineProperty(this,"id",{value:As++}),this.uuid=xs.generateUUID(),this.name="",this.image=void 0!==t?t:i.DEFAULT_IMAGE,this.mipmaps=[],this.mapping=void 0!==e?e:i.DEFAULT_MAPPING,this.wrapS=void 0!==r?r:ga,this.wrapT=void 0!==o?o:ga,this.magFilter=void 0!==a?a:xa,this.minFilter=void 0!==s?s:wa,this.anisotropy=void 0!==c?c:1,this.format=void 0!==l?l:Va,this.type=void 0!==h?h:Ea,this.offset=new n(0,0),this.repeat=new n(1,
91),this.generateMipmaps=!0,this.premultiplyAlpha=!1,this.flipY=!0,this.unpackAlignment=4,this.encoding=void 0!==u?u:us,this.version=0,this.onUpdate=null}function r(t,e,n,i){this.x=t||0,this.y=e||0,this.z=n||0,this.w=void 0!==i?i:1}function o(t,e,n){this.uuid=xs.generateUUID(),this.width=t,this.height=e,this.scissor=new r(0,0,t,e),this.scissorTest=!1,this.viewport=new r(0,0,t,e),n=n||{},void 0===n.minFilter&&(n.minFilter=xa),this.texture=new i((void 0),(void 0),n.wrapS,n.wrapT,n.magFilter,n.minFilter,n.format,n.type,n.anisotropy,n.encoding),this.depthBuffer=void 0===n.depthBuffer||n.depthBuffer,this.stencilBuffer=void 0===n.stencilBuffer||n.stencilBuffer,this.depthTexture=void 0!==n.depthTexture?n.depthTexture:null; 10}function a(t,e,n){o.call(this,t,e,n),this.activeCubeFace=0,this.activeMipMapLevel=0}function s(t,e,n,i){this._x=t||0,this._y=e||0,this._z=n||0,this._w=void 0!==i?i:1}function l(t,e,n){this.x=t||0,this.y=e||0,this.z=n||0}function h(){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.")}function c(t,e,n,r,o,a,s,l,h,c,u,p){i.call(this,null,a,s,l,h,c,r,o,u,p),this.image={data:t,width:e,height:n},this.magFilter=void 0!==h?h:ya,this.minFilter=void 0!==c?c:ya,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}function u(t,e,n,r,o,a,s,l,h,c){t=void 0!==t?t:[],e=void 0!==e?e:la,i.call(this,t,e,n,r,o,a,s,l,h,c),this.flipY=!1}function p(){this.seq=[],this.map={}}function d(t,e,n){var i=t[0];if(i<=0||i>0)return t;var r=e*n,o=Ts[r];if(void 0===o&&(o=new Float32Array(r),Ts[r]=o),0!==e){i.toArray(o,0);for(var a=1,s=0;a!==e;++a)s+=n,t[a].toArray(o,s)}return o}function f(t,e){var n=Ss[e];void 0===n&&(n=new Int32Array(e),Ss[e]=n);for(var i=0;i!==e;++i)n[i]=t.allocTextureUnit();return n}function m(t,e){t.uniform1f(this.addr,e)}function g(t,e){t.uniform1i(this.addr,e)}function v(t,e){void 0===e.x?t.uniform2fv(this.addr,e):t.uniform2f(this.addr,e.x,e.y)}function y(t,e){void 0!==e.x?t.uniform3f(this.addr,e.x,e.y,e.z):void 0!==e.r?t.uniform3f(this.addr,e.r,e.g,e.b):t.uniform3fv(this.addr,e)}function _(t,e){void 0===e.x?t.uniform4fv(this.addr,e):t.uniform4f(this.addr,e.x,e.y,e.z,e.w)}function b(t,e){t.uniformMatrix2fv(this.addr,!1,e.elements||e)}function x(t,e){void 0===e.elements?t.uniformMatrix3fv(this.addr,!1,e):(Cs.set(e.elements),t.uniformMatrix3fv(this.addr,!1,Cs))}function A(t,e){void 0===e.elements?t.uniformMatrix4fv(this.addr,!1,e):(Ms.set(e.elements),t.uniformMatrix4fv(this.addr,!1,Ms))}function w(t,e,n){var i=n.allocTextureUnit();t.uniform1i(this.addr,i),n.setTexture2D(e||ws,i)}function E(t,e,n){var i=n.allocTextureUnit();t.uniform1i(this.addr,i),n.setTextureCube(e||Es,i)}function T(t,e){t.uniform2iv(this.addr,e)}function S(t,e){t.uniform3iv(this.addr,e)}function M(t,e){t.uniform4iv(this.addr,e)}function C(t){switch(t){case 5126:return m;case 35664:return v;case 35665:return y;case 35666:return _;case 35674:return b;case 35675:return x;case 35676:return A;case 35678:return w;case 35680:return E;case 5124:case 35670:return g;case 35667:case 35671:return T;case 35668:case 35672:return S;case 35669:case 35673:return M}}function P(t,e){t.uniform1fv(this.addr,e)}function L(t,e){t.uniform1iv(this.addr,e)}function R(t,e){t.uniform2fv(this.addr,d(e,this.size,2))}function N(t,e){t.uniform3fv(this.addr,d(e,this.size,3))}function O(t,e){t.uniform4fv(this.addr,d(e,this.size,4))}function I(t,e){t.uniformMatrix2fv(this.addr,!1,d(e,this.size,4))}function D(t,e){t.uniformMatrix3fv(this.addr,!1,d(e,this.size,9))}function B(t,e){t.uniformMatrix4fv(this.addr,!1,d(e,this.size,16))}function U(t,e,n){var i=e.length,r=f(n,i);t.uniform1iv(this.addr,r);for(var o=0;o!==i;++o)n.setTexture2D(e[o]||ws,r[o])}function V(t,e,n){var i=e.length,r=f(n,i);t.uniform1iv(this.addr,r);for(var o=0;o!==i;++o)n.setTextureCube(e[o]||Es,r[o])}function G(t){switch(t){case 5126:return P;case 35664:return R;case 35665:return N;case 35666:return O;case 35674:return I;case 35675:return D;case 35676:return B;case 35678:return U;case 35680:return V;case 5124:case 35670:return L;case 35667:case 35671:return T;case 35668:case 35672:return S;case 35669:case 35673:return M}}function k(t,e,n){this.id=t,this.addr=n,this.setValue=C(e.type)}function H(t,e,n){this.id=t,this.addr=n,this.size=e.size,this.setValue=G(e.type)}function F(t){this.id=t,p.call(this)}function z(t,e){t.seq.push(e),t.map[e.id]=e}function j(t,e,n){var i=t.name,r=i.length;for(Ps.lastIndex=0;;){var o=Ps.exec(i),a=Ps.lastIndex,s=o[1],l="]"===o[2],h=o[3];if(l&&(s=0|s),void 0===h||"["===h&&a+2===r){z(n,void 0===h?new k(s,t,e):new H(s,t,e));break}var c=n.map,u=c[s];void 0===u&&(u=new F(s),z(n,u)),n=u}}function X(t,e,n){p.call(this),this.renderer=n;for(var i=t.getProgramParameter(e,t.ACTIVE_UNIFORMS),r=0;r<i;++r){var o=t.getActiveUniform(e,r),a=o.name,s=t.getUniformLocation(e,a);j(o,s,this)}}function W(t,e,n){return void 0===e&&void 0===n?this.set(t):this.setRGB(t,e,n)}
10function Y(t,e){this.min=void 0!==t?t:new n((+(1/0)),(+(1/0))),this.max=void 0!==e?e:new n((-(1/0)),(-(1/0)))}function K(t,e){function i(){var t=new Float32Array([-1,-1,0,0,1,-1,1,0,1,1,1,1,-1,1,0,1]),e=new Uint16Array([0,1,2,0,2,3]);o=f.createBuffer(),a=f.createBuffer(),f.bindBuffer(f.ARRAY_BUFFER,o),f.bufferData(f.ARRAY_BUFFER,t,f.STATIC_DRAW),f.bindBuffer(f.ELEMENT_ARRAY_BUFFER,a),f.bufferData(f.ELEMENT_ARRAY_BUFFER,e,f.STATIC_DRAW),p=f.createTexture(),d=f.createTexture(),m.bindTexture(f.TEXTURE_2D,p),f.texImage2D(f.TEXTURE_2D,0,f.RGB,16,16,0,f.RGB,f.UNSIGNED_BYTE,null),f.texParameteri(f.TEXTURE_2D,f.TEXTURE_WRAP_S,f.CLAMP_TO_EDGE),f.texParameteri(f.TEXTURE_2D,f.TEXTURE_WRAP_T,f.CLAMP_TO_EDGE),f.texParameteri(f.TEXTURE_2D,f.TEXTURE_MAG_FILTER,f.NEAREST),f.texParameteri(f.TEXTURE_2D,f.TEXTURE_MIN_FILTER,f.NEAREST),m.bindTexture(f.TEXTURE_2D,d),f.texImage2D(f.TEXTURE_2D,0,f.RGBA,16,16,0,f.RGBA,f.UNSIGNED_BYTE,null),f.texParameteri(f.TEXTURE_2D,f.TEXTURE_WRAP_S,f.CLAMP_TO_EDGE),f.texParameteri(f.TEXTURE_2D,f.TEXTURE_WRAP_T,f.CLAMP_TO_EDGE),f.texParameteri(f.TEXTURE_2D,f.TEXTURE_MAG_FILTER,f.NEAREST),f.texParameteri(f.TEXTURE_2D,f.TEXTURE_MIN_FILTER,f.NEAREST),s={vertexShader:["uniform lowp int renderType;","uniform vec3 screenPosition;","uniform vec2 scale;","uniform float rotation;","uniform sampler2D occlusionMap;","attribute vec2 position;","attribute vec2 uv;","varying vec2 vUV;","varying float vVisibility;","void main() {","vUV = uv;","vec2 pos = position;","if ( renderType == 2 ) {","vec4 visibility = texture2D( occlusionMap, vec2( 0.1, 0.1 ) );","visibility += texture2D( occlusionMap, vec2( 0.5, 0.1 ) );","visibility += texture2D( occlusionMap, vec2( 0.9, 0.1 ) );","visibility += texture2D( occlusionMap, vec2( 0.9, 0.5 ) );","visibility += texture2D( occlusionMap, vec2( 0.9, 0.9 ) );","visibility += texture2D( occlusionMap, vec2( 0.5, 0.9 ) );","visibility += texture2D( occlusionMap, vec2( 0.1, 0.9 ) );","visibility += texture2D( occlusionMap, vec2( 0.1, 0.5 ) );","visibility += texture2D( occlusionMap, vec2( 0.5, 0.5 ) );","vVisibility = visibility.r / 9.0;","vVisibility *= 1.0 - visibility.g / 9.0;","vVisibility *= visibility.b / 9.0;","vVisibility *= 1.0 - visibility.a / 9.0;","pos.x = cos( rotation ) * position.x - sin( rotation ) * position.y;","pos.y = sin( rotation ) * position.x + cos( rotation ) * position.y;","}","gl_Position = vec4( ( pos * scale + screenPosition.xy ).xy, screenPosition.z, 1.0 );","}"].join("\n"),fragmentShader:["uniform lowp int renderType;","uniform sampler2D map;","uniform float opacity;","uniform vec3 color;","varying vec2 vUV;","varying float vVisibility;","void main() {","if ( renderType == 0 ) {","gl_FragColor = vec4( 1.0, 0.0, 1.0, 0.0 );","} else if ( renderType == 1 ) {","gl_FragColor = texture2D( map, vUV );","} else {","vec4 texture = texture2D( map, vUV );","texture.a *= opacity * vVisibility;","gl_FragColor = texture;","gl_FragColor.rgb *= color;","}","}"].join("\n")},h=r(s),c={vertex:f.getAttribLocation(h,"position"),uv:f.getAttribLocation(h,"uv")},u={renderType:f.getUniformLocation(h,"renderType"),map:f.getUniformLocation(h,"map"),occlusionMap:f.getUniformLocation(h,"occlusionMap"),opacity:f.getUniformLocation(h,"opacity"),color:f.getUniformLocation(h,"color"),scale:f.getUniformLocation(h,"scale"),rotation:f.getUniformLocation(h,"rotation"),screenPosition:f.getUniformLocation(h,"screenPosition")}}function r(e){var n=f.createProgram(),i=f.createShader(f.FRAGMENT_SHADER),r=f.createShader(f.VERTEX_SHADER),o="precision "+t.getPrecision()+" float;\n";return f.shaderSource(i,o+e.fragmentShader),f.shaderSource(r,o+e.vertexShader),f.compileShader(i),f.compileShader(r),f.attachShader(n,i),f.attachShader(n,r),f.linkProgram(n),n}var o,a,s,h,c,u,p,d,f=t.context,m=t.state;this.render=function(r,s,g){if(0!==e.length){var v=new l,y=g.w/g.z,_=.5*g.z,b=.5*g.w,x=16/g.w,A=new n(x*y,x),w=new l(1,1,0),E=new n(1,1),T=new Y;T.min.set(g.x,g.y),T.max.set(g.x+(g.z-16),g.y+(g.w-16)),void 0===h&&i(),f.useProgram(h),m.initAttributes(),m.enableAttribute(c.vertex),m.enableAttribute(c.uv),m.disableUnusedAttributes(),f.uniform1i(u.occlusionMap,0),f.uniform1i(u.map,1),f.bindBuffer(f.ARRAY_BUFFER,o),f.vertexAttribPointer(c.vertex,2,f.FLOAT,!1,16,0),f.vertexAttribPointer(c.uv,2,f.FLOAT,!1,16,8),f.bindBuffer(f.ELEMENT_ARRAY_BUFFER,a),m.disable(f.CULL_FACE),m.buffers.depth.setMask(!1);for(var S=0,M=e.length;S<M;S++){x=16/g.w,A.set(x*y,x);var C=e[S];if(v.set(C.matrixWorld.elements[12],C.matrixWorld.elements[13],C.matrixWorld.elements[14]),v.applyMatrix4(s.matrixWorldInverse),v.applyMatrix4(s.projectionMatrix),w.copy(v),E.x=g.x+w.x*_+_-8,E.y=g.y+w.y*b+b-8,T.containsPoint(E)===!0){m.activeTexture(f.TEXTURE0),m.bindTexture(f.TEXTURE_2D,null),m.activeTexture(f.TEXTURE1),m.bindTexture(f.TEXTURE_2D,p),f.copyTexImage2D(f.TEXTURE_2D,0,f.RGB,E.x,E.y,16,16,0),f.uniform1i(u.renderType,0),f.uniform2f(u.scale,A.x,A.y),f.uniform3f(u.screenPosition,w.x,w.y,w.z),m.disable(f.BLEND),m.enable(f.DEPTH_TEST),f.drawElements(f.TRIANGLES,6,f.UNSIGNED_SHORT,0),m.activeTexture(f.TEXTURE0),m.bindTexture(f.TEXTURE_2D,d),f.copyTexImage2D(f.TEXTURE_2D,0,f.RGBA,E.x,E.y,16,16,0),f.uniform1i(u.renderType,1),m.disable(f.DEPTH_TEST),m.activeTexture(f.TEXTURE1),m.bindTexture(f.TEXTURE_2D,p),f.drawElements(f.TRIANGLES,6,f.UNSIGNED_SHORT,0),C.positionScreen.copy(w),C.customUpdateCallback?C.customUpdateCallback(C):C.updateLensFlares(),f.uniform1i(u.renderType,2),m.enable(f.BLEND);for(var P=0,L=C.lensFlares.length;P<L;P++){var R=C.lensFlares[P];R.opacity>.001&&R.scale>.001&&(w.x=R.x,w.y=R.y,w.z=R.z,x=R.size*R.scale/g.w,A.x=x*y,A.y=x,f.uniform3f(u.screenPosition,w.x,w.y,w.z),f.uniform2f(u.scale,A.x,A.y),f.uniform1f(u.rotation,R.rotation),f.uniform1f(u.opacity,R.opacity),f.uniform3f(u.color,R.color.r,R.color.g,R.color.b),m.setBlending(R.blending,R.blendEquation,R.blendSrc,R.blendDst),t.setTexture2D(R.texture,1),f.drawElements(f.TRIANGLES,6,f.UNSIGNED_SHORT,0))}}}m.enable(f.CULL_FACE),m.enable(f.DEPTH_TEST),m.buffers.depth.setMask(!0),t.resetGLState()}}}function Z(t,e){function n(){var t=new Float32Array([-.5,-.5,0,0,.5,-.5,1,0,.5,.5,1,1,-.5,.5,0,1]),e=new Uint16Array([0,1,2,0,2,3]);a=f.createBuffer(),h=f.createBuffer(),f.bindBuffer(f.ARRAY_BUFFER,a),f.bufferData(f.ARRAY_BUFFER,t,f.STATIC_DRAW),f.bindBuffer(f.ELEMENT_ARRAY_BUFFER,h),f.bufferData(f.ELEMENT_ARRAY_BUFFER,e,f.STATIC_DRAW),c=r(),u={position:f.getAttribLocation(c,"position"),uv:f.getAttribLocation(c,"uv")},p={uvOffset:f.getUniformLocation(c,"uvOffset"),uvScale:f.getUniformLocation(c,"uvScale"),rotation:f.getUniformLocation(c,"rotation"),scale:f.getUniformLocation(c,"scale"),color:f.getUniformLocation(c,"color"),map:f.getUniformLocation(c,"map"),opacity:f.getUniformLocation(c,"opacity"),modelViewMatrix:f.getUniformLocation(c,"modelViewMatrix"),projectionMatrix:f.getUniformLocation(c,"projectionMatrix"),fogType:f.getUniformLocation(c,"fogType"),fogDensity:f.getUniformLocation(c,"fogDensity"),fogNear:f.getUniformLocation(c,"fogNear"),fogFar:f.getUniformLocation(c,"fogFar"),fogColor:f.getUniformLocation(c,"fogColor"),alphaTest:f.getUniformLocation(c,"alphaTest")};var n=document.createElementNS("http://www.w3.org/1999/xhtml","canvas");n.width=8,n.height=8;var o=n.getContext("2d");o.fillStyle="white",o.fillRect(0,0,8,8),d=new i(n),d.needsUpdate=!0}function r(){var e=f.createProgram(),n=f.createShader(f.VERTEX_SHADER),i=f.createShader(f.FRAGMENT_SHADER);return f.shaderSource(n,["precision "+t.getPrecision()+" float;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform float rotation;","uniform vec2 scale;","uniform vec2 uvOffset;","uniform vec2 uvScale;","attribute vec2 position;","attribute vec2 uv;","varying vec2 vUV;","void main() {","vUV = uvOffset + uv * uvScale;","vec2 alignedPosition = position * scale;","vec2 rotatedPosition;","rotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y;","rotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y;","vec4 finalPosition;","finalPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );","finalPosition.xy += rotatedPosition;","finalPosition = projectionMatrix * finalPosition;","gl_Position = finalPosition;","}"].join("\n")),f.shaderSource(i,["precision "+t.getPrecision()+" float;","uniform vec3 color;","uniform sampler2D map;","uniform float opacity;","uniform int fogType;","uniform vec3 fogColor;","uniform float fogDensity;","uniform float fogNear;","uniform float fogFar;","uniform float alphaTest;","varying vec2 vUV;","void main() {","vec4 texture = texture2D( map, vUV );","if ( texture.a < alphaTest ) discard;","gl_FragColor = vec4( color * texture.xyz, texture.a * opacity );","if ( fogType > 0 ) {","float depth = gl_FragCoord.z / gl_FragCoord.w;","float fogFactor = 0.0;","if ( fogType == 1 ) {","fogFactor = smoothstep( fogNear, fogFar, depth );","} else {","const float LOG2 = 1.442695;","fogFactor = exp2( - fogDensity * fogDensity * depth * depth * LOG2 );","fogFactor = 1.0 - clamp( fogFactor, 0.0, 1.0 );","}","gl_FragColor = mix( gl_FragColor, vec4( fogColor, gl_FragColor.w ), fogFactor );","}","}"].join("\n")),f.compileShader(n),f.compileShader(i),f.attachShader(e,n),f.attachShader(e,i),f.linkProgram(e),e}function o(t,e){return t.renderOrder!==e.renderOrder?t.renderOrder-e.renderOrder:t.z!==e.z?e.z-t.z:e.id-t.id}
10var a,h,c,u,p,d,f=t.context,m=t.state,g=new l,v=new s,y=new l;this.render=function(i,r){if(0!==e.length){void 0===c&&n(),f.useProgram(c),m.initAttributes(),m.enableAttribute(u.position),m.enableAttribute(u.uv),m.disableUnusedAttributes(),m.disable(f.CULL_FACE),m.enable(f.BLEND),f.bindBuffer(f.ARRAY_BUFFER,a),f.vertexAttribPointer(u.position,2,f.FLOAT,!1,16,0),f.vertexAttribPointer(u.uv,2,f.FLOAT,!1,16,8),f.bindBuffer(f.ELEMENT_ARRAY_BUFFER,h),f.uniformMatrix4fv(p.projectionMatrix,!1,r.projectionMatrix.elements),m.activeTexture(f.TEXTURE0),f.uniform1i(p.map,0);var s=0,l=0,_=i.fog;_?(f.uniform3f(p.fogColor,_.color.r,_.color.g,_.color.b),_.isFog?(f.uniform1f(p.fogNear,_.near),f.uniform1f(p.fogFar,_.far),f.uniform1i(p.fogType,1),s=1,l=1):_.isFogExp2&&(f.uniform1f(p.fogDensity,_.density),f.uniform1i(p.fogType,2),s=2,l=2)):(f.uniform1i(p.fogType,0),s=0,l=0);for(var b=0,x=e.length;b<x;b++){var A=e[b];A.modelViewMatrix.multiplyMatrices(r.matrixWorldInverse,A.matrixWorld),A.z=-A.modelViewMatrix.elements[14]}e.sort(o);for(var w=[],b=0,x=e.length;b<x;b++){var A=e[b],E=A.material;if(E.visible!==!1){f.uniform1f(p.alphaTest,E.alphaTest),f.uniformMatrix4fv(p.modelViewMatrix,!1,A.modelViewMatrix.elements),A.matrixWorld.decompose(g,v,y),w[0]=y.x,w[1]=y.y;var T=0;i.fog&&E.fog&&(T=l),s!==T&&(f.uniform1i(p.fogType,T),s=T),null!==E.map?(f.uniform2f(p.uvOffset,E.map.offset.x,E.map.offset.y),f.uniform2f(p.uvScale,E.map.repeat.x,E.map.repeat.y)):(f.uniform2f(p.uvOffset,0,0),f.uniform2f(p.uvScale,1,1)),f.uniform1f(p.opacity,E.opacity),f.uniform3f(p.color,E.color.r,E.color.g,E.color.b),f.uniform1f(p.rotation,E.rotation),f.uniform2fv(p.scale,w),m.setBlending(E.blending,E.blendEquation,E.blendSrc,E.blendDst),m.buffers.depth.setTest(E.depthTest),m.buffers.depth.setMask(E.depthWrite),E.map?t.setTexture2D(E.map,0):t.setTexture2D(d,0),f.drawElements(f.TRIANGLES,6,f.UNSIGNED_SHORT,0)}}m.enable(f.CULL_FACE),t.resetGLState()}}}function q(){Object.defineProperty(this,"id",{value:Uh++}),this.uuid=xs.generateUUID(),this.name="",this.type="Material",this.fog=!0,this.lights=!0,this.blending=Eo,this.side=mo,this.shading=_o,this.vertexColors=bo,this.opacity=1,this.transparent=!1,this.blendSrc=Vo,this.blendDst=Go,this.blendEquation=Po,this.blendSrcAlpha=null,this.blendDstAlpha=null,this.blendEquationAlpha=null,this.depthFunc=Ko,this.depthTest=!0,this.depthWrite=!0,this.clippingPlanes=null,this.clipIntersection=!1,this.clipShadows=!1,this.colorWrite=!0,this.precision=null,this.polygonOffset=!1,this.polygonOffsetFactor=0,this.polygonOffsetUnits=0,this.dithering=!1,this.alphaTest=0,this.premultipliedAlpha=!1,this.overdraw=0,this.visible=!0,this.needsUpdate=!0}function Q(t){q.call(this),this.type="ShaderMaterial",this.defines={},this.uniforms={},this.vertexShader="void main() {\n\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}",this.fragmentShader="void main() {\n\tgl_FragColor = vec4( 1.0, 0.0, 0.0, 1.0 );\n}",this.linewidth=1,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.lights=!1,this.clipping=!1,this.skinning=!1,this.morphTargets=!1,this.morphNormals=!1,this.extensions={derivatives:!1,fragDepth:!1,drawBuffers:!1,shaderTextureLOD:!1},this.defaultAttributeValues={color:[1,1,1],uv:[0,0],uv2:[0,0]},this.index0AttributeName=void 0,void 0!==t&&(void 0!==t.attributes&&console.error("THREE.ShaderMaterial: attributes should now be defined in THREE.BufferGeometry instead."),this.setValues(t))}function J(t){q.call(this),this.type="MeshDepthMaterial",this.depthPacking=_s,this.skinning=!1,this.morphTargets=!1,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.lights=!1,this.setValues(t)}function $(t,e){this.min=void 0!==t?t:new l((+(1/0)),(+(1/0)),(+(1/0))),this.max=void 0!==e?e:new l((-(1/0)),(-(1/0)),(-(1/0)))}function tt(t,e){this.center=void 0!==t?t:new l,this.radius=void 0!==e?e:0}function et(){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.")}function nt(t,e){this.normal=void 0!==t?t:new l(1,0,0),this.constant=void 0!==e?e:0}function it(t,e,n,i,r,o){this.planes=[void 0!==t?t:new nt,void 0!==e?e:new nt,void 0!==n?n:new nt,void 0!==i?i:new nt,void 0!==r?r:new nt,void 0!==o?o:new nt]}function rt(t,e,i,a){function s(e,n,i,r){var o=e.geometry,a=null,s=w,l=e.customDepthMaterial;if(i&&(s=E,l=e.customDistanceMaterial),l)a=l;else{var h=!1;n.morphTargets&&(o&&o.isBufferGeometry?h=o.morphAttributes&&o.morphAttributes.position&&o.morphAttributes.position.length>0:o&&o.isGeometry&&(h=o.morphTargets&&o.morphTargets.length>0)),e.isSkinnedMesh&&n.skinning===!1&&console.warn("THREE.WebGLShadowMap: THREE.SkinnedMesh with material.skinning set to false:",e);var c=e.isSkinnedMesh&&n.skinning,u=0;h&&(u|=b),c&&(u|=x),a=s[u]}if(t.localClippingEnabled&&n.clipShadows===!0&&0!==n.clippingPlanes.length){var p=a.uuid,d=n.uuid,f=T[p];void 0===f&&(f={},T[p]=f);
10var m=f[d];void 0===m&&(m=a.clone(),f[d]=m),a=m}a.visible=n.visible,a.wireframe=n.wireframe;var g=n.side;return U.renderSingleSided&&g==vo&&(g=mo),U.renderReverseSided&&(g===mo?g=go:g===go&&(g=mo)),a.side=g,a.clipShadows=n.clipShadows,a.clippingPlanes=n.clippingPlanes,a.wireframeLinewidth=n.wireframeLinewidth,a.linewidth=n.linewidth,i&&void 0!==a.uniforms.lightPos&&a.uniforms.lightPos.value.copy(r),a}function c(e,n,r,o){if(e.visible!==!1){var a=e.layers.test(n.layers);if(a&&(e.isMesh||e.isLine||e.isPoints)&&e.castShadow&&(!e.frustumCulled||d.intersectsObject(e))){e.modelViewMatrix.multiplyMatrices(r.matrixWorldInverse,e.matrixWorld);var l=i.update(e),h=e.material;if(Array.isArray(h))for(var u=l.groups,p=0,f=u.length;p<f;p++){var m=u[p],g=h[m.materialIndex];if(g&&g.visible){var v=s(e,g,o,_);t.renderBufferDirect(r,null,l,v,e,m)}}else if(h.visible){var v=s(e,h,o,_);t.renderBufferDirect(r,null,l,v,e,null)}}for(var y=e.children,b=0,x=y.length;b<x;b++)c(y[b],n,r,o)}}var u=t.context,p=t.state,d=new it,f=new h,m=e.shadows,g=new n,v=new n(a.maxTextureSize,a.maxTextureSize),y=new l,_=new l,b=1,x=2,A=(b|x)+1,w=new Array(A),E=new Array(A),T={},S=[new l(1,0,0),new l((-1),0,0),new l(0,0,1),new l(0,0,(-1)),new l(0,1,0),new l(0,(-1),0)],M=[new l(0,1,0),new l(0,1,0),new l(0,1,0),new l(0,1,0),new l(0,0,1),new l(0,0,(-1))],C=[new r,new r,new r,new r,new r,new r],P=new J;P.depthPacking=bs,P.clipping=!0;for(var L=Bh.distanceRGBA,R=Ns.clone(L.uniforms),N=0;N!==A;++N){var O=0!==(N&b),I=0!==(N&x),D=P.clone();D.morphTargets=O,D.skinning=I,w[N]=D;var B=new Q({defines:{USE_SHADOWMAP:""},uniforms:R,vertexShader:L.vertexShader,fragmentShader:L.fragmentShader,morphTargets:O,skinning:I,clipping:!0});E[N]=B}var U=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=po,this.renderReverseSided=!0,this.renderSingleSided=!0,this.render=function(e,n){if(U.enabled!==!1&&(U.autoUpdate!==!1||U.needsUpdate!==!1)&&0!==m.length){p.disable(u.BLEND),p.buffers.color.setClear(1,1,1,1),p.buffers.depth.setTest(!0),p.setScissorTest(!1);for(var i,r,a=0,s=m.length;a<s;a++){var l=m[a],h=l.shadow;if(void 0!==h){var b=h.camera,x=h.matrix;if(_.setFromMatrixPosition(l.matrixWorld),b.position.copy(_),g.copy(h.mapSize),g.min(v),l&&l.isPointLight){i=6,r=!0;var A=g.x,w=g.y;C[0].set(2*A,w,A,w),C[1].set(0,w,A,w),C[2].set(3*A,w,A,w),C[3].set(A,w,A,w),C[4].set(3*A,0,A,w),C[5].set(A,0,A,w),g.x*=4,g.y*=2,x.makeTranslation(-_.x,-_.y,-_.z)}else i=1,r=!1,y.setFromMatrixPosition(l.target.matrixWorld),b.lookAt(y),b.updateMatrixWorld(),b.matrixWorldInverse.getInverse(b.matrixWorld),x.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),x.multiply(b.projectionMatrix),x.multiply(b.matrixWorldInverse);if(null===h.map){var E={minFilter:ya,magFilter:ya,format:Va};h.map=new o(g.x,g.y,E),h.map.texture.name=l.name+".shadowMap",b.updateProjectionMatrix()}h.isSpotLightShadow&&h.update(l);var T=h.map;t.setRenderTarget(T),t.clear();for(var P=0;P<i;P++){if(r){y.copy(b.position),y.add(S[P]),b.up.copy(M[P]),b.lookAt(y),b.updateMatrixWorld(),b.matrixWorldInverse.getInverse(b.matrixWorld);var L=C[P];p.viewport(L)}f.multiplyMatrices(b.projectionMatrix,b.matrixWorldInverse),d.setFromMatrix(f),c(e,n,b,r)}}else console.warn("THREE.WebGLShadowMap:",l,"has no shadow.")}var R=t.getClearColor(),N=t.getClearAlpha();t.setClearColor(R,N),U.needsUpdate=!1}}}function ot(t,e){this.origin=void 0!==t?t:new l,this.direction=void 0!==e?e:new l}function at(t,e,n,i){this._x=t||0,this._y=e||0,this._z=n||0,this._order=i||at.DefaultOrder}function st(){this.mask=1}function lt(){function t(){r.setFromEuler(i,!1)}function e(){i.setFromQuaternion(r,void 0,!1)}Object.defineProperty(this,"id",{value:Vh++}),this.uuid=xs.generateUUID(),this.name="",this.type="Object3D",this.parent=null,this.children=[],this.up=lt.DefaultUp.clone();var n=new l,i=new at,r=new s,o=new l(1,1,1);i.onChange(t),r.onChange(e),Object.defineProperties(this,{position:{enumerable:!0,value:n},rotation:{enumerable:!0,value:i},quaternion:{enumerable:!0,value:r},scale:{enumerable:!0,value:o},modelViewMatrix:{value:new h},normalMatrix:{value:new et}}),this.matrix=new h,this.matrixWorld=new h,this.matrixAutoUpdate=lt.DefaultMatrixAutoUpdate,this.matrixWorldNeedsUpdate=!1,this.layers=new st,this.visible=!0,this.castShadow=!1,this.receiveShadow=!1,this.frustumCulled=!0,this.renderOrder=0,this.userData={},this.onBeforeRender=function(){},this.onAfterRender=function(){}}function ht(t,e){this.start=void 0!==t?t:new l,this.end=void 0!==e?e:new l}function ct(t,e,n){this.a=void 0!==t?t:new l,this.b=void 0!==e?e:new l,this.c=void 0!==n?n:new l}function ut(t,e,n,i,r,o){this.a=t,this.b=e,this.c=n,this.normal=i&&i.isVector3?i:new l,this.vertexNormals=Array.isArray(i)?i:[],this.color=r&&r.isColor?r:new W,this.vertexColors=Array.isArray(r)?r:[],this.materialIndex=void 0!==o?o:0}function pt(t){q.call(this),this.type="MeshBasicMaterial",this.color=new W(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=$o,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.skinning=!1,this.morphTargets=!1,this.lights=!1,this.setValues(t)}function dt(t,e,n){if(Array.isArray(t))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.uuid=xs.generateUUID(),this.array=t,this.itemSize=e,this.count=void 0!==t?t.length/e:0,this.normalized=n===!0,this.dynamic=!1,this.updateRange={offset:0,count:-1},this.onUploadCallback=function(){},this.version=0}function ft(t,e){dt.call(this,new Int8Array(t),e)}function mt(t,e){dt.call(this,new Uint8Array(t),e)}function gt(t,e){dt.call(this,new Uint8ClampedArray(t),e)}function vt(t,e){dt.call(this,new Int16Array(t),e)}function yt(t,e){dt.call(this,new Uint16Array(t),e)}function _t(t,e){dt.call(this,new Int32Array(t),e)}function bt(t,e){dt.call(this,new Uint32Array(t),e)}function xt(t,e){dt.call(this,new Float32Array(t),e)}function At(t,e){dt.call(this,new Float64Array(t),e)}function wt(){this.indices=[],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=!1,this.normalsNeedUpdate=!1,this.colorsNeedUpdate=!1,this.uvsNeedUpdate=!1,this.groupsNeedUpdate=!1}function Et(t){if(0===t.length)return-(1/0);for(var e=t[0],n=1,i=t.length;n<i;++n)t[n]>e&&(e=t[n]);return e}function Tt(){return Gh++}function St(){Object.defineProperty(this,"id",{value:Tt()}),this.uuid=xs.generateUUID(),this.name="",this.type="Geometry",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.elementsNeedUpdate=!1,this.verticesNeedUpdate=!1,this.uvsNeedUpdate=!1,this.normalsNeedUpdate=!1,this.colorsNeedUpdate=!1,this.lineDistancesNeedUpdate=!1,this.groupsNeedUpdate=!1}function Mt(){Object.defineProperty(this,"id",{value:Tt()}),this.uuid=xs.generateUUID(),this.name="",this.type="BufferGeometry",this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null,this.drawRange={start:0,count:1/0}}function Ct(t,e){lt.call(this),this.type="Mesh",this.geometry=void 0!==t?t:new Mt,this.material=void 0!==e?e:new pt({color:16777215*Math.random()}),this.drawMode=ls,this.updateMorphTargets()}function Pt(t,e,n,i,r,o){St.call(this),this.type="BoxGeometry",this.parameters={width:t,height:e,depth:n,widthSegments:i,heightSegments:r,depthSegments:o},this.fromBufferGeometry(new Lt(t,e,n,i,r,o)),this.mergeVertices()}function Lt(t,e,n,i,r,o){function a(t,e,n,i,r,o,a,m,g,v,y){var _,b,x=o/g,A=a/v,w=o/2,E=a/2,T=m/2,S=g+1,M=v+1,C=0,P=0,L=new l;for(b=0;b<M;b++){var R=b*A-E;for(_=0;_<S;_++){var N=_*x-w;L[t]=N*i,L[e]=R*r,L[n]=T,c.push(L.x,L.y,L.z),L[t]=0,L[e]=0,L[n]=m>0?1:-1,u.push(L.x,L.y,L.z),p.push(_/g),p.push(1-b/v),C+=1}}for(b=0;b<v;b++)for(_=0;_<g;_++){var O=d+_+S*b,I=d+_+S*(b+1),D=d+(_+1)+S*(b+1),B=d+(_+1)+S*b;h.push(O,I,B),h.push(I,D,B),P+=6}s.addGroup(f,P,y),f+=P,d+=C}Mt.call(this),this.type="BoxBufferGeometry",this.parameters={width:t,height:e,depth:n,widthSegments:i,heightSegments:r,depthSegments:o};var s=this;i=Math.floor(i)||1,r=Math.floor(r)||1,o=Math.floor(o)||1;var h=[],c=[],u=[],p=[],d=0,f=0;a("z","y","x",-1,-1,n,e,t,o,r,0),a("z","y","x",1,-1,n,e,-t,o,r,1),a("x","z","y",1,1,t,n,e,i,o,2),a("x","z","y",1,-1,t,n,-e,i,o,3),a("x","y","z",1,-1,t,e,n,i,r,4),a("x","y","z",-1,-1,t,e,-n,i,r,5),this.setIndex(h),this.addAttribute("position",new xt(c,3)),this.addAttribute("normal",new xt(u,3)),this.addAttribute("uv",new xt(p,2))}function Rt(t,e,n,i){St.call(this),this.type="PlaneGeometry",this.parameters={width:t,height:e,widthSegments:n,heightSegments:i},this.fromBufferGeometry(new Nt(t,e,n,i)),this.mergeVertices()}function Nt(t,e,n,i){Mt.call(this),this.type="PlaneBufferGeometry",this.parameters={width:t,height:e,widthSegments:n,heightSegments:i};var r,o,a=t/2,s=e/2,l=Math.floor(n)||1,h=Math.floor(i)||1,c=l+1,u=h+1,p=t/l,d=e/h,f=[],m=[],g=[],v=[];for(o=0;o<u;o++){var y=o*d-s;for(r=0;r<c;r++){var _=r*p-a;m.push(_,-y,0),g.push(0,0,1),v.push(r/l),v.push(1-o/h)}}for(o=0;o<h;o++)for(r=0;r<l;r++){var b=r+c*o,x=r+c*(o+1),A=r+1+c*(o+1),w=r+1+c*o;f.push(b,x,w),f.push(x,A,w)}this.setIndex(f),this.addAttribute("position",new xt(m,3)),this.addAttribute("normal",new xt(g,3)),this.addAttribute("uv",new xt(v,2))}function Ot(){lt.call(this),this.type="Camera",this.matrixWorldInverse=new h,this.projectionMatrix=new h}function It(t,e,n,i){Ot.call(this),this.type="PerspectiveCamera",this.fov=void 0!==t?t:50,this.zoom=1,this.near=void 0!==n?n:.1,this.far=void 0!==i?i:2e3,this.focus=10,this.aspect=void 0!==e?e:1,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}
10function Dt(t,e,n,i,r,o){Ot.call(this),this.type="OrthographicCamera",this.zoom=1,this.view=null,this.left=t,this.right=e,this.top=n,this.bottom=i,this.near=void 0!==r?r:.1,this.far=void 0!==o?o:2e3,this.updateProjectionMatrix()}function Bt(t){function e(e,n){var i=e.array,r=e.dynamic?t.DYNAMIC_DRAW:t.STATIC_DRAW,o=t.createBuffer();t.bindBuffer(n,o),t.bufferData(n,i,r),e.onUploadCallback();var a=t.FLOAT;return i instanceof Float32Array?a=t.FLOAT:i instanceof Float64Array?console.warn("Unsupported data buffer format: Float64Array"):i instanceof Uint16Array?a=t.UNSIGNED_SHORT:i instanceof Int16Array?a=t.SHORT:i instanceof Uint32Array?a=t.UNSIGNED_INT:i instanceof Int32Array?a=t.INT:i instanceof Int8Array?a=t.BYTE:i instanceof Uint8Array&&(a=t.UNSIGNED_BYTE),{buffer:o,type:a,bytesPerElement:i.BYTES_PER_ELEMENT,version:e.version}}function n(e,n,i){var r=n.array,o=n.updateRange;t.bindBuffer(i,e),n.dynamic===!1?t.bufferData(i,r,t.STATIC_DRAW):o.count===-1?t.bufferSubData(i,0,r):0===o.count?console.error("THREE.WebGLObjects.updateBuffer: dynamic THREE.BufferAttribute marked as needsUpdate but updateRange.count is 0, ensure you are using set methods or updating manually."):(t.bufferSubData(i,o.offset*r.BYTES_PER_ELEMENT,r.subarray(o.offset,o.offset+o.count)),o.count=0)}function i(t){return t.isInterleavedBufferAttribute&&(t=t.data),a[t.uuid]}function r(e){var n=a[e.uuid];n&&(t.deleteBuffer(n.buffer),delete a[e.uuid])}function o(t,i){t.isInterleavedBufferAttribute&&(t=t.data);var r=a[t.uuid];void 0===r?a[t.uuid]=e(t,i):r.version<t.version&&(n(r.buffer,t,i),r.version=t.version)}var a={};return{get:i,remove:r,update:o}}function Ut(t,e){return t.renderOrder!==e.renderOrder?t.renderOrder-e.renderOrder:t.program&&e.program&&t.program!==e.program?t.program.id-e.program.id:t.material.id!==e.material.id?t.material.id-e.material.id:t.z!==e.z?t.z-e.z:t.id-e.id}function Vt(t,e){return t.renderOrder!==e.renderOrder?t.renderOrder-e.renderOrder:t.z!==e.z?e.z-t.z:t.id-e.id}function Gt(){function t(){o=-1,s=-1}function e(t,e,n,i,l){var h,c;n.transparent?(h=a,c=++s):(h=r,c=++o);var u=h[c];u?(u.id=t.id,u.object=t,u.geometry=e,u.material=n,u.program=n.program,u.renderOrder=t.renderOrder,u.z=i,u.group=l):(u={id:t.id,object:t,geometry:e,material:n,program:n.program,renderOrder:t.renderOrder,z:i,group:l},h.push(u))}function n(){r.length=o+1,a.length=s+1}function i(){r.sort(Ut),a.sort(Vt)}var r=[],o=-1,a=[],s=-1;return{opaque:r,transparent:a,init:t,push:e,finish:n,sort:i}}function kt(){function t(t,e){var i=t.id+","+e.id,r=n[i];return void 0===r&&(r=new Gt,n[i]=r),r}function e(){n={}}var n={};return{get:t,dispose:e}}function Ht(t,e,n){function i(t){s=t}function r(n){n.array instanceof Uint32Array&&e.get("OES_element_index_uint")?(l=t.UNSIGNED_INT,h=4):n.array instanceof Uint16Array?(l=t.UNSIGNED_SHORT,h=2):(l=t.UNSIGNED_BYTE,h=1)}function o(e,i){t.drawElements(s,i,l,e*h),n.calls++,n.vertices+=i,s===t.TRIANGLES&&(n.faces+=i/3)}function a(i,r,o){var a=e.get("ANGLE_instanced_arrays");return null===a?void console.error("THREE.WebGLIndexedBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays."):(a.drawElementsInstancedANGLE(s,o,l,r*h,i.maxInstancedCount),n.calls++,n.vertices+=o*i.maxInstancedCount,void(s===t.TRIANGLES&&(n.faces+=i.maxInstancedCount*o/3)))} 11var s,l,h;this.setMode=i,this.setIndex=r,this.render=o,this.renderInstances=a}function Ft(t,e,n){function i(t){a=t}function r(e,i){t.drawArrays(a,e,i),n.calls++,n.vertices+=i,a===t.TRIANGLES&&(n.faces+=i/3)}function o(i,r,o){var s=e.get("ANGLE_instanced_arrays");if(null===s)return void console.error("THREE.WebGLBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");var l=i.attributes.position;l.isInterleavedBufferAttribute?(o=l.data.count,s.drawArraysInstancedANGLE(a,0,o,i.maxInstancedCount)):s.drawArraysInstancedANGLE(a,r,o,i.maxInstancedCount),n.calls++,n.vertices+=o*i.maxInstancedCount,a===t.TRIANGLES&&(n.faces+=i.maxInstancedCount*o/3)}var a;this.setMode=i,this.render=r,this.renderInstances=o}function zt(t,e,n){function i(t){var r=t.target,o=s[r.id];null!==o.index&&e.remove(o.index);for(var a in o.attributes)e.remove(o.attributes[a]);r.removeEventListener("dispose",i),delete s[r.id];var h=l[r.id];h&&(e.remove(h),delete l[r.id]),h=l[o.id],h&&(e.remove(h),delete l[o.id]),n.geometries--}function r(t,e){var r=s[e.id];return r?r:(e.addEventListener("dispose",i),e.isBufferGeometry?r=e:e.isGeometry&&(void 0===e._bufferGeometry&&(e._bufferGeometry=(new Mt).setFromObject(t)),r=e._bufferGeometry),s[e.id]=r,n.geometries++,r)}function o(n){var i=n.index,r=n.attributes;null!==i&&e.update(i,t.ELEMENT_ARRAY_BUFFER);for(var o in r)e.update(r[o],t.ARRAY_BUFFER);var a=n.morphAttributes;for(var o in a)for(var s=a[o],l=0,h=s.length;l<h;l++)e.update(s[l],t.ARRAY_BUFFER)}function a(n){var i=l[n.id];if(i)return i;var r=[],o=n.index,a=n.attributes;if(null!==o)for(var s=o.array,h=0,c=s.length;h<c;h+=3){var u=s[h+0],p=s[h+1],d=s[h+2];r.push(u,p,p,d,d,u)}else for(var s=a.position.array,h=0,c=s.length/3-1;h<c;h+=3){var u=h+0,p=h+1,d=h+2;r.push(u,p,p,d,d,u)}return i=new(Et(r)>65535?bt:yt)(r,1),e.update(i,t.ELEMENT_ARRAY_BUFFER),l[n.id]=i,i}var s={},l={};return{get:r,update:o,getWireframeAttribute:a}}function jt(){var t={};return{get:function(e){if(void 0!==t[e.id])return t[e.id];var i;switch(e.type){case"DirectionalLight":i={direction:new l,color:new W,shadow:!1,shadowBias:0,shadowRadius:1,shadowMapSize:new n};break;case"SpotLight":i={position:new l,direction:new l,color:new W,distance:0,coneCos:0,penumbraCos:0,decay:0,shadow:!1,shadowBias:0,shadowRadius:1,shadowMapSize:new n};break;case"PointLight":i={position:new l,color:new W,distance:0,decay:0,shadow:!1,shadowBias:0,shadowRadius:1,shadowMapSize:new n};break;case"HemisphereLight":i={direction:new l,skyColor:new W,groundColor:new W};break;case"RectAreaLight":i={color:new W,position:new l,halfWidth:new l,halfHeight:new l}}return t[e.id]=i,i}}}function Xt(t,e,n){function i(t){var i=n.frame,r=t.geometry,a=e.get(t,r);return o[a.id]!==i&&(r.isGeometry&&a.updateFromObject(t),e.update(a),o[a.id]=i),a}function r(){o={}}var o={};return{update:i,clear:r}}function Wt(t){for(var e=t.split("\n"),n=0;n<e.length;n++)e[n]=n+1+": "+e[n];return e.join("\n")}function Yt(t,e,n){var i=t.createShader(e);return t.shaderSource(i,n),t.compileShader(i),t.getShaderParameter(i,t.COMPILE_STATUS)===!1&&console.error("THREE.WebGLShader: Shader couldn't compile."),""!==t.getShaderInfoLog(i)&&console.warn("THREE.WebGLShader: gl.getShaderInfoLog()",e===t.VERTEX_SHADER?"vertex":"fragment",t.getShaderInfoLog(i),Wt(n)),i}function Kt(t){switch(t){case us:return["Linear","( value )"];case ps:return["sRGB","( value )"];case fs:return["RGBE","( value )"];case gs:return["RGBM","( value, 7.0 )"];case vs:return["RGBM","( value, 16.0 )"];case ys:return["RGBD","( value, 256.0 )"];case ds:return["Gamma","( value, float( GAMMA_FACTOR ) )"];default:throw new Error("unsupported encoding: "+t)}}function Zt(t,e){var n=Kt(e);return"vec4 "+t+"( vec4 value ) { return "+n[0]+"ToLinear"+n[1]+"; }"}function qt(t,e){var n=Kt(e);return"vec4 "+t+"( vec4 value ) { return LinearTo"+n[0]+n[1]+"; }"}function Qt(t,e){var n;switch(e){case ia:n="Linear";break;
11case ra:n="Reinhard";break;case oa:n="Uncharted2";break;case aa:n="OptimizedCineon";break;default:throw new Error("unsupported toneMapping: "+e)}return"vec3 "+t+"( vec3 color ) { return "+n+"ToneMapping( color ); }"}function Jt(t,e,n){t=t||{};var i=[t.derivatives||e.envMapCubeUV||e.bumpMap||e.normalMap||e.flatShading?"#extension GL_OES_standard_derivatives : enable":"",(t.fragDepth||e.logarithmicDepthBuffer)&&n.get("EXT_frag_depth")?"#extension GL_EXT_frag_depth : enable":"",t.drawBuffers&&n.get("WEBGL_draw_buffers")?"#extension GL_EXT_draw_buffers : require":"",(t.shaderTextureLOD||e.envMap)&&n.get("EXT_shader_texture_lod")?"#extension GL_EXT_shader_texture_lod : enable":""];return i.filter(ee).join("\n")}function $t(t){var e=[];for(var n in t){var i=t[n];i!==!1&&e.push("#define "+n+" "+i)}return e.join("\n")}function te(t,e,n){for(var i={},r=t.getProgramParameter(e,t.ACTIVE_ATTRIBUTES),o=0;o<r;o++){var a=t.getActiveAttrib(e,o),s=a.name;i[s]=t.getAttribLocation(e,s)}return i}function ee(t){return""!==t}function ne(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)}function ie(t){function e(t,e){var n=Dh[e];if(void 0===n)throw new Error("Can not resolve #include <"+e+">");return ie(n)}var n=/^[ \t]*#include +<([\w\d.]+)>/gm;return t.replace(n,e)}function re(t){function e(t,e,n,i){for(var r="",o=parseInt(e);o<parseInt(n);o++)r+=i.replace(/\[ i \]/g,"[ "+o+" ]");return r}var n=/for \( int i \= (\d+)\; i < (\d+)\; i \+\+ \) \{([\s\S]+?)(?=\})\}/g;return t.replace(n,e)}function oe(t,e,n,i){var r=t.context,o=n.extensions,a=n.defines,s=n.__webglShader.vertexShader,l=n.__webglShader.fragmentShader,h="SHADOWMAP_TYPE_BASIC";i.shadowMapType===po?h="SHADOWMAP_TYPE_PCF":i.shadowMapType===fo&&(h="SHADOWMAP_TYPE_PCF_SOFT");var c="ENVMAP_TYPE_CUBE",u="ENVMAP_MODE_REFLECTION",p="ENVMAP_BLENDING_MULTIPLY";if(i.envMap){switch(n.envMap.mapping){case la:case ha:c="ENVMAP_TYPE_CUBE";break;case da:case fa:c="ENVMAP_TYPE_CUBE_UV";break;case ca:case ua:c="ENVMAP_TYPE_EQUIREC";break;case pa:c="ENVMAP_TYPE_SPHERE"}switch(n.envMap.mapping){case ha:case ua:u="ENVMAP_MODE_REFRACTION"}switch(n.combine){case $o:p="ENVMAP_BLENDING_MULTIPLY";break;case ta:p="ENVMAP_BLENDING_MIX";break;case ea:p="ENVMAP_BLENDING_ADD"}}var d,f,m=t.gammaFactor>0?t.gammaFactor:1,g=Jt(o,i,t.extensions),v=$t(a),y=r.createProgram();n.isRawShaderMaterial?(d=[v,"\n"].filter(ee).join("\n"),f=[g,v,"\n"].filter(ee).join("\n")):(d=["precision "+i.precision+" float;","precision "+i.precision+" int;","#define SHADER_NAME "+n.__webglShader.name,v,i.supportsVertexTextures?"#define VERTEX_TEXTURES":"","#define GAMMA_FACTOR "+m,"#define MAX_BONES "+i.maxBones,i.useFog&&i.fog?"#define USE_FOG":"",i.useFog&&i.fogExp?"#define FOG_EXP2":"",i.map?"#define USE_MAP":"",i.envMap?"#define USE_ENVMAP":"",i.envMap?"#define "+u:"",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.displacementMap&&i.supportsVertexTextures?"#define USE_DISPLACEMENTMAP":"",i.specularMap?"#define USE_SPECULARMAP":"",i.roughnessMap?"#define USE_ROUGHNESSMAP":"",i.metalnessMap?"#define USE_METALNESSMAP":"",i.alphaMap?"#define USE_ALPHAMAP":"",i.vertexColors?"#define USE_COLOR":"",i.flatShading?"#define FLAT_SHADED":"",i.skinning?"#define USE_SKINNING":"",i.useVertexTexture?"#define BONE_TEXTURE":"",i.morphTargets?"#define USE_MORPHTARGETS":"",i.morphNormals&&i.flatShading===!1?"#define USE_MORPHNORMALS":"",i.doubleSided?"#define DOUBLE_SIDED":"",i.flipSided?"#define FLIP_SIDED":"","#define NUM_CLIPPING_PLANES "+i.numClippingPlanes,i.shadowMapEnabled?"#define USE_SHADOWMAP":"",i.shadowMapEnabled?"#define "+h:"",i.sizeAttenuation?"#define USE_SIZEATTENUATION":"",i.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",i.logarithmicDepthBuffer&&t.extensions.get("EXT_frag_depth")?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","attribute vec3 position;","attribute vec3 normal;","attribute vec2 uv;","#ifdef USE_COLOR","\tattribute vec3 color;","#endif","#ifdef USE_MORPHTARGETS","\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(ee).join("\n"),f=[g,"precision "+i.precision+" float;","precision "+i.precision+" int;","#define SHADER_NAME "+n.__webglShader.name,v,i.alphaTest?"#define ALPHATEST "+i.alphaTest:"","#define GAMMA_FACTOR "+m,i.useFog&&i.fog?"#define USE_FOG":"",i.useFog&&i.fogExp?"#define FOG_EXP2":"",i.map?"#define USE_MAP":"",i.envMap?"#define USE_ENVMAP":"",i.envMap?"#define "+c:"",i.envMap?"#define "+u:"",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.specularMap?"#define USE_SPECULARMAP":"",i.roughnessMap?"#define USE_ROUGHNESSMAP":"",i.metalnessMap?"#define USE_METALNESSMAP":"",i.alph
11aMap?"#define USE_ALPHAMAP":"",i.vertexColors?"#define USE_COLOR":"",i.gradientMap?"#define USE_GRADIENTMAP":"",i.flatShading?"#define FLAT_SHADED":"",i.doubleSided?"#define DOUBLE_SIDED":"",i.flipSided?"#define FLIP_SIDED":"","#define NUM_CLIPPING_PLANES "+i.numClippingPlanes,"#define UNION_CLIPPING_PLANES "+(i.numClippingPlanes-i.numClipIntersection),i.shadowMapEnabled?"#define USE_SHADOWMAP":"",i.shadowMapEnabled?"#define "+h:"",i.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",i.physicallyCorrectLights?"#define PHYSICALLY_CORRECT_LIGHTS":"",i.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",i.logarithmicDepthBuffer&&t.extensions.get("EXT_frag_depth")?"#define USE_LOGDEPTHBUF_EXT":"",i.envMap&&t.extensions.get("EXT_shader_texture_lod")?"#define TEXTURE_LOD_EXT":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;",i.toneMapping!==na?"#define TONE_MAPPING":"",i.toneMapping!==na?Dh.tonemapping_pars_fragment:"",i.toneMapping!==na?Qt("toneMapping",i.toneMapping):"",i.dithering?"#define DITHERING":"",i.outputEncoding||i.mapEncoding||i.envMapEncoding||i.emissiveMapEncoding?Dh.encodings_pars_fragment:"",i.mapEncoding?Zt("mapTexelToLinear",i.mapEncoding):"",i.envMapEncoding?Zt("envMapTexelToLinear",i.envMapEncoding):"",i.emissiveMapEncoding?Zt("emissiveMapTexelToLinear",i.emissiveMapEncoding):"",i.outputEncoding?qt("linearToOutputTexel",i.outputEncoding):"",i.depthPacking?"#define DEPTH_PACKING "+n.depthPacking:"","\n"].filter(ee).join("\n")),s=ie(s,i),s=ne(s,i),l=ie(l,i),l=ne(l,i),n.isShaderMaterial||(s=re(s),l=re(l));var _=d+s,b=f+l,x=Yt(r,r.VERTEX_SHADER,_),A=Yt(r,r.FRAGMENT_SHADER,b);r.attachShader(y,x),r.attachShader(y,A),void 0!==n.index0AttributeName?r.bindAttribLocation(y,0,n.index0AttributeName):i.morphTargets===!0&&r.bindAttribLocation(y,0,"position"),r.linkProgram(y);var w=r.getProgramInfoLog(y),E=r.getShaderInfoLog(x),T=r.getShaderInfoLog(A),S=!0,M=!0;r.getProgramParameter(y,r.LINK_STATUS)===!1?(S=!1,console.error("THREE.WebGLProgram: shader error: ",r.getError(),"gl.VALIDATE_STATUS",r.getProgramParameter(y,r.VALIDATE_STATUS),"gl.getProgramInfoLog",w,E,T)):""!==w?console.warn("THREE.WebGLProgram: gl.getProgramInfoLog()",w):""!==E&&""!==T||(M=!1),M&&(this.diagnostics={runnable:S,material:n,programLog:w,vertexShader:{log:E,prefix:d},fragmentShader:{log:T,prefix:f}}),r.deleteShader(x),r.deleteShader(A);var C;this.getUniforms=function(){return void 0===C&&(C=new X(r,y,t)),C};var P;return this.getAttributes=function(){return void 0===P&&(P=te(r,y)),P},this.destroy=function(){r.deleteProgram(y),this.program=void 0},Object.defineProperties(this,{uniforms:{get:function(){return console.warn("THREE.WebGLProgram: .uniforms is now .getUniforms()."),this.getUniforms()}},attributes:{get:function(){return console.warn("THREE.WebGLProgram: .attributes is now .getAttributes()."),this.getAttributes()}}}),this.id=kh++,this.code=e,this.usedTimes=1,this.program=y,this.vertexShader=x,this.fragmentShader=A,this}function ae(t,e){function n(t){var n=t.skeleton,i=n.bones;if(e.floatVertexTextures)return 1024;var r=e.maxVertexUniforms,o=Math.floor((r-20)/4),a=Math.min(o,i.length);return a<i.length?(console.warn("THREE.WebGLRenderer: Skeleton has "+i.length+" bones. This GPU supports "+a+"."),0):a}function i(t,e){var n;return t?t.isTexture?n=t.encoding:t.isWebGLRenderTarget&&(console.warn("THREE.WebGLPrograms.getTextureEncodingFromMap: don't use render targets as textures. Use their .texture property instead."),n=t.texture.encoding):n=us,n===us&&e&&(n=ds),n}var r=[],o={MeshDepthMaterial:"depth",MeshNormalMaterial:"normal",MeshBasicMaterial:"basic",MeshLambertMaterial:"lambert",MeshPhongMaterial:"phong",MeshToonMaterial:"phong",MeshStandardMaterial:"physical",MeshPhysicalMaterial:"physical",LineBasicMaterial:"basic",LineDashedMaterial:"dashed",PointsMaterial:"points"},a=["precision","supportsVertexTextures","map","mapEncoding","envMap","envMapMode","envMapEncoding","lightMap","aoMap","emissiveMap","emissiveMapEncoding","bumpMap","normalMap","displacementMap","specularMap","roughnessMap","metalnessMap","gradientMap","alphaMap","combine","vertexColors","fog","useFog","fogExp","flatShading","sizeAttenuation","logarithmicDepthBuffer","skinning","maxBones","useVertexTexture","morphTargets","morphNormals","maxMorphTargets","maxMorphNormals","premultipliedAlpha","numDirLights","numPointLights","numSpotLights","numHemiLights","numRectAreaLights","shadowMapEnabled","shadowMapType","toneMapping","physicallyCorrectLights","alphaTest","doubleSided","flipSided","numClippingPlanes","numClipIntersection","depthPacking","dithering"];this.getParameters=function(r,a,s,l,h,c){var u=o[r.type],p=c.isSkinnedMesh?n(c):0,d=t.getPrecision();null!==r.precision&&(d=e.getMaxPrecision(r.precision),d!==r.precision&&console.warn("THREE.WebGLProgram.getParameters:",r.precision,"not supported, using",d,"instead."));var f=t.getRenderTarget(),m={shaderID:u,precision:d,supportsVertexTextures:e.vertexTextures,outputEncoding:i(f?f.texture:null,t.gammaOutput),map:!!r.map,mapEncoding:i(r.map,t.gammaInput),envMap:!!r.envMap,envMapMode:r.envMap&&r.envMap.mapping,envMapEncoding:i(r.envMap,t.gammaInput),envMapCubeUV:!!r.envMap&&(r.envMap.mapping===da||r.envMap.mapping===fa),lightMap:!!r.lightMap,aoMap:!!r.aoMap,emissiveMap:!!r.emissiveMap,emissiveMapEncoding:i(r.emissiveMap,t.gammaInput),bumpMap:!!r.bumpMap,normalMap:!!r.normalMap,displacementMap:!!r.displacementMap,roughnessMap:!!r.roughnessMap,metalnessMap:!!r.metalnessMap,specularMap:!!r.specularMap,alph
11aMap:!!r.alphaMap,gradientMap:!!r.gradientMap,combine:r.combine,vertexColors:r.vertexColors,fog:!!s,useFog:r.fog,fogExp:s&&s.isFogExp2,flatShading:r.shading===yo,sizeAttenuation:r.sizeAttenuation,logarithmicDepthBuffer:e.logarithmicDepthBuffer,skinning:r.skinning&&p>0,maxBones:p,useVertexTexture:e.floatVertexTextures,morphTargets:r.morphTargets,morphNormals:r.morphNormals,maxMorphTargets:t.maxMorphTargets,maxMorphNormals:t.maxMorphNormals,numDirLights:a.directional.length,numPointLights:a.point.length,numSpotLights:a.spot.length,numRectAreaLights:a.rectArea.length,numHemiLights:a.hemi.length,numClippingPlanes:l,numClipIntersection:h,dithering:r.dithering,shadowMapEnabled:t.shadowMap.enabled&&c.receiveShadow&&a.shadows.length>0,shadowMapType:t.shadowMap.type,toneMapping:t.toneMapping,physicallyCorrectLights:t.physicallyCorrectLights,premultipliedAlpha:r.premultipliedAlpha,alphaTest:r.alphaTest,doubleSided:r.side===vo,flipSided:r.side===go,depthPacking:void 0!==r.depthPacking&&r.depthPacking};return m},this.getProgramCode=function(t,e){var n=[];if(e.shaderID?n.push(e.shaderID):(n.push(t.fragmentShader),n.push(t.vertexShader)),void 0!==t.defines)for(var i in t.defines)n.push(i),n.push(t.defines[i]);for(var r=0;r<a.length;r++)n.push(e[a[r]]);return n.join()},this.acquireProgram=function(e,n,i){for(var o,a=0,s=r.length;a<s;a++){var l=r[a];if(l.code===i){o=l,++o.usedTimes;break}}return void 0===o&&(o=new oe(t,i,e,n),r.push(o)),o},this.releaseProgram=function(t){if(0===--t.usedTimes){var e=r.indexOf(t);r[e]=r[r.length-1],r.pop(),t.destroy()}},this.programs=r}function se(t,e,n,i,r,o,a){function s(t,e){if(t.width>e||t.height>e){var n=e/Math.max(t.width,t.height),i=document.createElementNS("http://www.w3.org/1999/xhtml","canvas");i.width=Math.floor(t.width*n),i.height=Math.floor(t.height*n);var r=i.getContext("2d");return r.drawImage(t,0,0,t.width,t.height,0,0,i.width,i.height),console.warn("THREE.WebGLRenderer: image is too big ("+t.width+"x"+t.height+"). Resized to "+i.width+"x"+i.height,t),i}return t}function l(t){return xs.isPowerOfTwo(t.width)&&xs.isPowerOfTwo(t.height)}function h(t){if(t instanceof HTMLImageElement||t instanceof HTMLCanvasElement){var e=document.createElementNS("http://www.w3.org/1999/xhtml","canvas");e.width=xs.nearestPowerOfTwo(t.width),e.height=xs.nearestPowerOfTwo(t.height);var n=e.getContext("2d");return n.drawImage(t,0,0,e.width,e.height),console.warn("THREE.WebGLRenderer: image is not power of two ("+t.width+"x"+t.height+"). Resized to "+e.width+"x"+e.height,t),e}return t}function c(t){return t.wrapS!==ga||t.wrapT!==ga||t.minFilter!==ya&&t.minFilter!==xa}function u(e){return e===ya||e===_a||e===ba?t.NEAREST:t.LINEAR}function p(t){var e=t.target;e.removeEventListener("dispose",p),f(e),a.textures--}function d(t){var e=t.target;e.removeEventListener("dispose",d),m(e),a.textures--}function f(e){var n=i.get(e);if(e.image&&n.__image__webglTextureCube)t.deleteTexture(n.__image__webglTextureCube);else{if(void 0===n.__webglInit)return;t.deleteTexture(n.__webglTexture)}i.remove(e)}function m(e){var n=i.get(e),r=i.get(e.texture);if(e){if(void 0!==r.__webglTexture&&t.deleteTexture(r.__webglTexture),e.depthTexture&&e.depthTexture.dispose(),e.isWebGLRenderTargetCube)for(var o=0;o<6;o++)t.deleteFramebuffer(n.__webglFramebuffer[o]),n.__webglDepthbuffer&&t.deleteRenderbuffer(n.__webglDepthbuffer[o]);else t.deleteFramebuffer(n.__webglFramebuffer),n.__webglDepthbuffer&&t.deleteRenderbuffer(n.__webglDepthbuffer);i.remove(e.texture),i.remove(e)}}function g(e,r){var o=i.get(e);if(e.version>0&&o.__version!==e.version){var a=e.image;if(void 0===a)console.warn("THREE.WebGLRenderer: Texture marked for update but image is undefined",e);else{if(a.complete!==!1)return void b(o,e,r);console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete",e)}}n.activeTexture(t.TEXTURE0+r),n.bindTexture(t.TEXTURE_2D,o.__webglTexture)}function v(e,h){var c=i.get(e);if(6===e.image.length)if(e.version>0&&c.__version!==e.version){c.__image__webglTextureCube||(e.addEventListener("dispose",p),c.__image__webglTextureCube=t.createTexture(),a.textures++),n.activeTexture(t.TEXTURE0+h),n.bindTexture(t.TEXTURE_CUBE_MAP,c.__image__webglTextureCube),t.pixelStorei(t.UNPACK_FLIP_Y_WEBGL,e.flipY);for(var u=e&&e.isCompressedTexture,d=e.image[0]&&e.image[0].isDataTexture,f=[],m=0;m<6;m++)u||d?f[m]=d?e.image[m].image:e.image[m]:f[m]=s(e.image[m],r.maxCubemapSize);var g=f[0],v=l(g),y=o(e.format),b=o(e.type);_(t.TEXTURE_CUBE_MAP,e,v);for(var m=0;m<6;m++)if(u)for(var x,A=f[m].mipmaps,w=0,E=A.length;w<E;w++)x=A[w],e.format!==Va&&e.format!==Ua?n.getCompressedTextureFormats().indexOf(y)>-1?n.compressedTexImage2D(t.TEXTURE_CUBE_MAP_POSITIVE_X+m,w,y,x.width,x.height,0,x.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .setTextureCube()"):n.texImage2D(t.TEXTURE_CUBE_MAP_POSITIVE_X+m,w,y,x.width,x.height,0,y,b,x.data);else d?n.texImage2D(t.TEXTURE_CUBE_MAP_POSITIVE_X+m,0,y,f[m].width,f[m].height,0,y,b,f[m].data):n.texImage2D(t.TEXTURE_CUBE_MAP_POSITIVE_X+m,0,y,y,b,f[m]);e.generateMipmaps&&v&&t.generateMipmap(t.TEXTURE_CUBE_MAP),c.__version=e.version,e.onUpdate&&e.onUpdate(e)}else n.activeTexture(t.TEXTURE0+h),n.bindTexture(t.TEXTURE_CUBE_MAP,c.__image__webglTextureCube)}function y(e,r){n.activeTexture(t.TEXTURE0+r),n.bindTexture(t.TEXTURE_CUBE_MAP,i.get(e).__webglTexture)}function _(n,a,s){var l;if(s?(t.texParameteri(n,t.TEXTURE_WRAP_S,o(a.wrapS)),t.texParameteri(n,t.TEXTURE_WRAP_T,o(a.wrapT)),t.texParameteri(n,t.TEXTURE_MAG_FILTER,o(a.magFilter)),t.texParameteri(n,t.TEXTURE_MIN_FILTER,o(a.minFilter))):(t.texParameteri(n,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(n,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),a.wrapS===ga&&a.wrapT===ga||console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping.",a),t.texParameteri(n,t.TEXTURE_MAG_FILTER,u(a.magFilter)),t.texParameteri(n,t.TEXTURE_MIN_FILTER,u(a.minFilter)),a.minFilter!==ya&&a.minFilter!==xa&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.",a)),l=e.get("EXT_texture_filter_anisotropic")){if(a.type===La&&null===e.get("OES_texture_float_linear"))return;if(a.type===Ra&&null===e.get("OES_texture_half_float_linear"))return;(a.anisotropy>1||i.get(a).__currentAnisotropy)&&(t.texParameterf(n,l.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(a.anisotropy,r.getMaxAnisotropy())),i.get(a).__currentAnisotropy=a.anisotropy)}}function b(e,i,u){void 0===e.__webglInit&&(e.__webglInit=!0,i.addEventListener("dispose",p),e.__webglTexture=t.createTexture(),a.textures++),n.activeTexture(t.TEXTURE0+u),n.bindTexture(t.TEXTURE_2D,e.__webglTexture),t.pixelStorei(t.UNPACK_FLIP_Y_WEBGL,i.flipY),t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,i.premultiplyAlpha),t.pixelStorei(t.UNPACK_ALIGNMENT,i.unpackAlignment);var d=s(i.image,r.maxTextureSize);c(i)&&l(d)===!1&&(d=h(d));var f=l(d),m=o(i.format),g=o(i.type);_(t.TEXTURE_2D,i,f);var v,y=i.mipmaps;if(i.isDepthTexture){var b=t.DEPTH_COMPONENT;if(i.type===La){if(!M)throw new Error("Float Depth Texture only supported in WebGL2.0");b=t.DEPTH_COMPONENT32F}else M&&(b=t.DEPTH_COMPONENT16);i.format===Fa&&b===t.DEPTH_COMPONENT&&i.type!==Ma&&i.type!==Pa&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."),i.type=Ma,g=o(i.type)),i.format===za&&(b=t.DEPTH_STENCIL,i.type!==Da&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),i.type=Da,g=o(i.type))),n.texImage2D(t.TEXTURE_2D,0,b,d.width,d.height,0,m,g,null)}else if(i.isDataTexture)if(y.length>0&&f){for(var x=0,A=y.length;x<A;x++)v=y[x],n.texImage2D(t.TEXTURE_2D,x,m,v.width,v.height,0,m,g,v.data);i.generateMipmaps=!1}else n.texImage2D(t.TEXTURE_2D,0,m,d.width,d.height,0,m,g,d.data);else if(i.isCompressedTexture)for(var x=0,A=y.length;x<A;x++)v=y[x],i.format!==Va&&i.format!==Ua?n.getCompressedTextureFormats().indexOf(m)>-1?n.compressedTexImage2D(t.TEXTURE_2D,x,m,v.width,v.height,0,v.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()"):n.texImage2D(t.TEXTURE_2D,x,m,v.width,v.height,0,m,g,v.data);else if(y.length>0&&f){for(var x=0,A=y.length;x<A;x++)v=y[x],n.texImage2D(t.TEXTURE_2D,x,m,m,g,v);i.generateMipmaps=!1}else n.texImage2D(t.TEXTURE_2D,0,m,m,g,d);i.generateMipmaps&&f&&t.generateMipmap(t.TEXTURE_2D),e.__version=i.version,i.onUp
11date&&i.onUpdate(i)}function x(e,r,a,s){var l=o(r.texture.format),h=o(r.texture.type);n.texImage2D(s,0,l,r.width,r.height,0,l,h,null),t.bindFramebuffer(t.FRAMEBUFFER,e),t.framebufferTexture2D(t.FRAMEBUFFER,a,s,i.get(r.texture).__webglTexture,0),t.bindFramebuffer(t.FRAMEBUFFER,null)}function A(e,n){t.bindRenderbuffer(t.RENDERBUFFER,e),n.depthBuffer&&!n.stencilBuffer?(t.renderbufferStorage(t.RENDERBUFFER,t.DEPTH_COMPONENT16,n.width,n.height),t.framebufferRenderbuffer(t.FRAMEBUFFER,t.DEPTH_ATTACHMENT,t.RENDERBUFFER,e)):n.depthBuffer&&n.stencilBuffer?(t.renderbufferStorage(t.RENDERBUFFER,t.DEPTH_STENCIL,n.width,n.height),t.framebufferRenderbuffer(t.FRAMEBUFFER,t.DEPTH_STENCIL_ATTACHMENT,t.RENDERBUFFER,e)):t.renderbufferStorage(t.RENDERBUFFER,t.RGBA4,n.width,n.height),t.bindRenderbuffer(t.RENDERBUFFER,null)}function w(e,n){var r=n&&n.isWebGLRenderTargetCube;if(r)throw new Error("Depth Texture with cube render targets is not supported!");if(t.bindFramebuffer(t.FRAMEBUFFER,e),!n.depthTexture||!n.depthTexture.isDepthTexture)throw new Error("renderTarget.depthTexture must be an instance of THREE.DepthTexture");i.get(n.depthTexture).__webglTexture&&n.depthTexture.image.width===n.width&&n.depthTexture.image.height===n.height||(n.depthTexture.image.width=n.width,n.depthTexture.image.height=n.height,n.depthTexture.needsUpdate=!0),g(n.depthTexture,0);var o=i.get(n.depthTexture).__webglTexture;if(n.depthTexture.format===Fa)t.framebufferTexture2D(t.FRAMEBUFFER,t.DEPTH_ATTACHMENT,t.TEXTURE_2D,o,0);else{if(n.depthTexture.format!==za)throw new Error("Unknown depthTexture format");t.framebufferTexture2D(t.FRAMEBUFFER,t.DEPTH_STENCIL_ATTACHMENT,t.TEXTURE_2D,o,0)}}function E(e){var n=i.get(e),r=e.isWebGLRenderTargetCube===!0;if(e.depthTexture){if(r)throw new Error("target.depthTexture not supported in Cube render targets");w(n.__webglFramebuffer,e)}else if(r){n.__webglDepthbuffer=[];for(var o=0;o<6;o++)t.bindFramebuffer(t.FRAMEBUFFER,n.__webglFramebuffer[o]),n.__webglDepthbuffer[o]=t.createRenderbuffer(),A(n.__webglDepthbuffer[o],e)}else t.bindFramebuffer(t.FRAMEBUFFER,n.__webglFramebuffer),n.__webglDepthbuffer=t.createRenderbuffer(),A(n.__webglDepthbuffer,e);t.bindFramebuffer(t.FRAMEBUFFER,null)}function T(e){var r=i.get(e),o=i.get(e.texture);e.addEventListener("dispose",d),o.__webglTexture=t.createTexture(),a.textures++;var s=e.isWebGLRenderTargetCube===!0,h=l(e);if(s){r.__webglFramebuffer=[];for(var c=0;c<6;c++)r.__webglFramebuffer[c]=t.createFramebuffer()}else r.__webglFramebuffer=t.createFramebuffer();if(s){n.bindTexture(t.TEXTURE_CUBE_MAP,o.__webglTexture),_(t.TEXTURE_CUBE_MAP,e.texture,h);for(var c=0;c<6;c++)x(r.__webglFramebuffer[c],e,t.COLOR_ATTACHMENT0,t.TEXTURE_CUBE_MAP_POSITIVE_X+c);e.texture.generateMipmaps&&h&&t.generateMipmap(t.TEXTURE_CUBE_MAP),n.bindTexture(t.TEXTURE_CUBE_MAP,null)}else n.bindTexture(t.TEXTURE_2D,o.__webglTexture),_(t.TEXTURE_2D,e.texture,h),x(r.__webglFramebuffer,e,t.COLOR_ATTACHMENT0,t.TEXTURE_2D),e.texture.generateMipmaps&&h&&t.generateMipmap(t.TEXTURE_2D),n.bindTexture(t.TEXTURE_2D,null);e.depthBuffer&&E(e)}function S(e){var r=e.texture;if(r.generateMipmaps&&l(e)&&r.minFilter!==ya&&r.minFilter!==xa){var o=e&&e.isWebGLRenderTargetCube?t.TEXTURE_CUBE_MAP:t.TEXTURE_2D,a=i.get(r).__webglTexture;n.bindTexture(o,a),t.generateMipmap(o),n.bindTexture(o,null)}}var M="undefined"!=typeof WebGL2RenderingContext&&t instanceof WebGL2RenderingContext;this.setTexture2D=g,this.setTextureCube=v,this.setTextureCubeDynamic=y,this.setupRenderTarget=T,this.updateRenderTargetMipmap=S}function le(){function t(t){var e=t.uuid,n=i[e];return void 0===n&&(n={},i[e]=n),n}function e(t){delete i[t.uuid]}function n(){i={}}var i={};return{get:t,remove:e,clear:n}}function he(t,e,n){function i(){var e=!1,n=new r,i=null,o=new r;return{setMask:function(n){i===n||e||(t.colorMask(n,n,n,n),i=n)},setLocked:function(t){e=t},setClear:function(e,i,r,a,s){s===!0&&(e*=a,i*=a,r*=a),n.set(e,i,r,a),o.equals(n)===!1&&(t.clearColor(e,i,r,a),o.copy(n))},reset:function(){e=!1,i=null,o.set(0,0,0,1)}}}function o(){var e=!1,n=null,i=null,r=null;return{setTest:function(e){e?d(t.DEPTH_TEST):f(t.DEPTH_TEST)},setMask:function(i){n===i||e||(t.depthMask(i),n=i)},setFunc:function(e){if(i!==e){if(e)switch(e){case Xo:t.depthFunc(t.NEVER);break;case Wo:t.depthFunc(t.ALWAYS);break;case Yo:t.depthFunc(t.LESS);break;case Ko:t.depthFunc(t.LEQUAL);break;case Zo:t.depthFunc(t.EQUAL);break;case qo:t.depthFunc(t.GEQUAL);break;case Qo:t.depthFunc(t.GREATER);break;case Jo:t.depthFunc(t.NOTEQUAL);break;default:t.depthFunc(t.LEQUAL)}else t.depthFunc(t.LEQUAL);i=e}},setLocked:function(t){e=t},setClear:function(e){r!==e&&(t.clearDepth(e),r=e)},reset:function(){e=!1,n=null,i=null,r=null}}}function a(){var e=!1,n=null,i=null,r=null,o=null,a=null,s=null,l=null,h=null;return{setTest:function(e){e?d(t.STENCIL_TEST):f(t.STENCIL_TEST)},setMask:function(i){n===i||e||(t.stencilMask(i),n=i)},setFunc:function(e,n,a){i===e&&r===n&&o===a||(t.stencilFunc(e,n,a),i=e,r=n,o=a)},setOp:function(e,n,i){a===e&&s===n&&l===i||(t.stencilOp(e,n,i),a=e,s=n,l=i)},setLocked:function(t){e=t},setClear:function(e){h!==e&&(t.clearStencil(e),h=e)},reset:function(){e=!1,n=null,i=null,r=null,o=null,a=null,s=null,l=null,h=null}}}
11function s(e,n,i){var r=new Uint8Array(4),o=t.createTexture();t.bindTexture(e,o),t.texParameteri(e,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(e,t.TEXTURE_MAG_FILTER,t.NEAREST);for(var a=0;a<i;a++)t.texImage2D(n+a,0,t.RGBA,1,1,0,t.RGBA,t.UNSIGNED_BYTE,r);return o}function l(){R.setClear(0,0,0,1),N.setClear(1),O.setClear(0),d(t.DEPTH_TEST),N.setFunc(Ko),y(!1),_(ao),d(t.CULL_FACE),d(t.BLEND),g(Eo)}function h(){for(var t=0,e=D.length;t<e;t++)D[t]=0}function c(n){if(D[n]=1,0===B[n]&&(t.enableVertexAttribArray(n),B[n]=1),0!==U[n]){var i=e.get("ANGLE_instanced_arrays");i.vertexAttribDivisorANGLE(n,0),U[n]=0}}function u(n,i){if(D[n]=1,0===B[n]&&(t.enableVertexAttribArray(n),B[n]=1),U[n]!==i){var r=e.get("ANGLE_instanced_arrays");r.vertexAttribDivisorANGLE(n,i),U[n]=i}}function p(){for(var e=0,n=B.length;e!==n;++e)B[e]!==D[e]&&(t.disableVertexAttribArray(e),B[e]=0)}function d(e){V[e]!==!0&&(t.enable(e),V[e]=!0)}function f(e){V[e]!==!1&&(t.disable(e),V[e]=!1)}function m(){if(null===G&&(G=[],e.get("WEBGL_compressed_texture_pvrtc")||e.get("WEBGL_compressed_texture_s3tc")||e.get("WEBGL_compressed_texture_etc1")))for(var n=t.getParameter(t.COMPRESSED_TEXTURE_FORMATS),i=0;i<n.length;i++)G.push(n[i]);return G}function g(e,i,r,o,a,s,l,h){e!==wo?d(t.BLEND):f(t.BLEND),e===k&&h===Y||(e===To?h?(t.blendEquationSeparate(t.FUNC_ADD,t.FUNC_ADD),t.blendFuncSeparate(t.ONE,t.ONE,t.ONE,t.ONE)):(t.blendEquation(t.FUNC_ADD),t.blendFunc(t.SRC_ALPHA,t.ONE)):e===So?h?(t.blendEquationSeparate(t.FUNC_ADD,t.FUNC_ADD),t.blendFuncSeparate(t.ZERO,t.ZERO,t.ONE_MINUS_SRC_COLOR,t.ONE_MINUS_SRC_ALPHA)):(t.blendEquation(t.FUNC_ADD),t.blendFunc(t.ZERO,t.ONE_MINUS_SRC_COLOR)):e===Mo?h?(t.blendEquationSeparate(t.FUNC_ADD,t.FUNC_ADD),t.blendFuncSeparate(t.ZERO,t.SRC_COLOR,t.ZERO,t.SRC_ALPHA)):(t.blendEquation(t.FUNC_ADD),t.blendFunc(t.ZERO,t.SRC_COLOR)):h?(t.blendEquationSeparate(t.FUNC_ADD,t.FUNC_ADD),t.blendFuncSeparate(t.ONE,t.ONE_MINUS_SRC_ALPHA,t.ONE,t.ONE_MINUS_SRC_ALPHA)):(t.blendEquationSeparate(t.FUNC_ADD,t.FUNC_ADD),t.blendFuncSeparate(t.SRC_ALPHA,t.ONE_MINUS_SRC_ALPHA,t.ONE,t.ONE_MINUS_SRC_ALPHA)),k=e,Y=h),e===Co?(a=a||i,s=s||r,l=l||o,i===H&&a===j||(t.blendEquationSeparate(n(i),n(a)),H=i,j=a),r===F&&o===z&&s===X&&l===W||(t.blendFuncSeparate(n(r),n(o),n(s),n(l)),F=r,z=o,X=s,W=l)):(H=null,F=null,z=null,j=null,X=null,W=null)}function v(e){e.side===vo?f(t.CULL_FACE):d(t.CULL_FACE),y(e.side===go),e.transparent===!0?g(e.blending,e.blendEquation,e.blendSrc,e.blendDst,e.blendEquationAlpha,e.blendSrcAlpha,e.blendDstAlpha,e.premultipliedAlpha):g(wo),N.setFunc(e.depthFunc),N.setTest(e.depthTest),N.setMask(e.depthWrite),R.setMask(e.colorWrite),x(e.polygonOffset,e.polygonOffsetFactor,e.polygonOffsetUnits)}function y(e){K!==e&&(e?t.frontFace(t.CW):t.frontFace(t.CCW),K=e)}function _(e){e!==oo?(d(t.CULL_FACE),e!==Z&&(e===ao?t.cullFace(t.BACK):e===so?t.cullFace(t.FRONT):t.cullFace(t.FRONT_AND_BACK))):f(t.CULL_FACE),Z=e}function b(e){e!==q&&(nt&&t.lineWidth(e),q=e)}function x(e,n,i){e?(d(t.POLYGON_OFFSET_FILL), 12Q===n&&J===i||(t.polygonOffset(n,i),Q=n,J=i)):f(t.POLYGON_OFFSET_FILL)}function A(){return $}function w(e){$=e,e?d(t.SCISSOR_TEST):f(t.SCISSOR_TEST)}function E(e){void 0===e&&(e=t.TEXTURE0+tt-1),it!==e&&(t.activeTexture(e),it=e)}function T(e,n){null===it&&E();var i=rt[it];void 0===i&&(i={type:void 0,texture:void 0},rt[it]=i),i.type===e&&i.texture===n||(t.bindTexture(e,n||st[e]),i.type=e,i.texture=n)}function S(){try{t.compressedTexImage2D.apply(t,arguments)}catch(e){console.error(e)}}function M(){try{t.texImage2D.apply(t,arguments)}catch(e){console.error(e)}}function C(e){ot.equals(e)===!1&&(t.scissor(e.x,e.y,e.z,e.w),ot.copy(e))}function P(e){at.equals(e)===!1&&(t.viewport(e.x,e.y,e.z,e.w),at.copy(e))}function L(){for(var e=0;e<B.length;e++)1===B[e]&&(t.disableVertexAttribArray(e),B[e]=0);V={},G=null,it=null,rt={},k=null,K=null,Z=null,R.reset(),N.reset(),O.reset()}var R=new i,N=new o,O=new a,I=t.getParameter(t.MAX_VERTEX_ATTRIBS),D=new Uint8Array(I),B=new Uint8Array(I),U=new Uint8Array(I),V={},G=null,k=null,H=null,F=null,z=null,j=null,X=null,W=null,Y=!1,K=null,Z=null,q=null,Q=null,J=null,$=null,tt=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS),et=parseFloat(/^WebGL\ ([0-9])/.exec(t.getParameter(t.VERSION))[1]),nt=parseFloat(et)>=1,it=null,rt={},ot=new r,at=new r,st={};return st[t.TEXTURE_2D]=s(t.TEXTURE_2D,t.TEXTURE_2D,1),st[t.TEXTURE_CUBE_MAP]=s(t.TEXTURE_CUBE_MAP,t.TEXTURE_CUBE_MAP_POSITIVE_X,6),{buffers:{color:R,depth:N,stencil:O},init:l,initAttributes:h,enableAttribute:c,enableAttributeAndDivisor:u,disableUnusedAttributes:p,enable:d,disable:f,getCompressedTextureFormats:m,setBlending:g,setMaterial:v,setFlipSided:y,setCullFace:_,setLineWidth:b,setPolygonOffset:x,getScissorTest:A,setScissorTest:w,activeTexture:E,bindTexture:T,compressedTexImage2D:S,texImage2D:M,scissor:C,viewport:P,reset:L}}function ce(t,e,n){function i(){if(void 0!==o)return o;var n=e.get("EXT_texture_filter_anisotropic");return o=null!==n?t.getParameter(n.MAX_TEXTURE_MAX_ANISOTROPY_EXT):0}function r(e){if("highp"===e){if(t.getShaderPrecisionFormat(t.VERTEX_SHADER,t.HIGH_FLOAT).precision>0&&t.getShaderPrecisionFormat(t.FRAGMENT_SHADER,t.HIGH_FLOAT).precision>0)return"highp";e="mediump"}return"mediump"===e&&t.getShaderPrecisionFormat(t.VERTEX_SHADER,t.MEDIUM_FLOAT).precision>0&&t.getShaderPrecisionFormat(t.FRAGMENT_SHADER,t.MEDIUM_FLOAT).precision>0?"mediump":"lowp"}var o,a=void 0!==n.precision?n.precision:"highp",s=r(a);s!==a&&(console.warn("THREE.WebGLRenderer:",a,"not supported, using",s,"instead."),a=s);var l=n.logarithmicDepthBuffer===!0&&!!e.get("EXT_frag_depth"),h=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS),c=t.getParameter(t.MAX_VERTEX_TEXTURE_IMAGE_UNITS),u=t.getParameter(t.MAX_TEXTURE_SIZE),p=t.getParameter(t.MAX_CUBE_MAP_TEXTURE_SIZE),d=t.getParameter(t.MAX_VERTEX_ATTRIBS),f=t.getParameter(t.MAX_VERTEX_UNIFORM_VECTORS),m=t.getParameter(t.MAX_VARYING_VECTORS),g=t.getParameter(t.MAX_FRAGMENT_UNIFORM_VECTORS),v=c>0,y=!!e.get("OES_texture_float"),_=v&&y;return{getMaxAnisotropy:i,getMaxPrecision:r,precision:a,logarithmicDepthBuffer:l,maxTextures:h,maxVertexTextures:c,maxTextureSize:u,maxCubemapSize:p,maxAttributes:d,maxVertexUniforms:f,maxVaryings:m,maxFragmentUniforms:g,vertexTextures:v,floatFragmentTextures:y,floatVertexTextures:_}}function ue(t){var e={};return{get:function(n){if(void 0!==e[n])return e[n];var i;switch(n){case"WEBGL_depth_texture":i=t.getExtension("WEBGL_depth_texture")||t.getExtension("MOZ_WEBGL_depth_texture")||t.getExtension("WEBKIT_WEBGL_depth_texture");break;case"EXT_texture_filter_anisotropic":i=t.getExtension("EXT_texture_filter_anisotropic")||t.getExtension("MOZ_EXT_texture_filter_anisotropic")||t.getExtension("WEBKIT_EXT_texture_filter_anisotropic");break;case"WEBGL_compressed_texture_s3tc":i=t.getExtension("WEBGL_compressed_texture_s3tc")||t.getExtension("MOZ_WEBGL_compressed_texture_s3tc")||t.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc");break;case"WEBGL_compressed_texture_pvrtc":i=t.getExtension("WEBGL_compressed_texture_pvrtc")||t.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc");break;case"WEBGL_compressed_texture_etc1":i=t.getExtension("WEBGL_compressed_texture_etc1");break;default:i=t.getExtension(n)}return null===i&&console.warn("THREE.WebGLRenderer: "+n+" extension not supported."),e[n]=i,i}}}function pe(){function t(){h.value!==i&&(h.value=i,h.needsUpdate=r>0),n.numPlanes=r,n.numIntersection=0}function e(t,e,i,r){var o=null!==t?t.length:0,a=null;if(0!==o){if(a=h.value,r!==!0||null===a){var c=i+4*o,u=e.matrixWorldInverse;l.getNormalMatrix(u),(null===a||a.length<c)&&(a=new Float32Array(c));for(var p=0,d=i;p!==o;
12++p,d+=4)s.copy(t[p]).applyMatrix4(u,l),s.normal.toArray(a,d),a[d+3]=s.constant}h.value=a,h.needsUpdate=!0}return n.numPlanes=o,a}var n=this,i=null,r=0,o=!1,a=!1,s=new nt,l=new et,h={value:null,needsUpdate:!1};this.uniform=h,this.numPlanes=0,this.numIntersection=0,this.init=function(t,n,a){var s=0!==t.length||n||0!==r||o;return o=n,i=e(t,a,0),r=t.length,s},this.beginShadows=function(){a=!0,e(null)},this.endShadows=function(){a=!1,t()},this.setState=function(n,s,l,c,u,p){if(!o||null===n||0===n.length||a&&!l)a?e(null):t();else{var d=a?0:r,f=4*d,m=u.clippingState||null;h.value=m,m=e(n,c,f,p);for(var g=0;g!==f;++g)m[g]=i[g];u.clippingState=m,this.numIntersection=s?this.numPlanes:0,this.numPlanes+=d}}}function de(t){function e(){return null===nt?yt:1}function n(){Qt.init(),Qt.scissor(ht.copy(_t).multiplyScalar(yt)),Qt.viewport(ut.copy(xt).multiplyScalar(yt)),Qt.buffers.color.setClear(ft.r,ft.g,ft.b,mt,F)}function i(){et=null,lt=null,st="",at=-1,Qt.reset()}function o(t){t.preventDefault(),i(),n(),Jt.clear(),ne.clear()}function a(t){var e=t.target;e.removeEventListener("dispose",a),s(e)}function s(t){u(t),Jt.remove(t)}function u(t){var e=Jt.get(t).program;t.program=void 0,void 0!==e&&ie.releaseProgram(e)}function p(t,e,n){t.render(function(t){tt.renderBufferImmediate(t,e,n)})}function d(t,e){return Math.abs(e[0])-Math.abs(t[0])}function f(t,e,n,i){if(n&&n.isInstancedBufferGeometry&&null===Zt.get("ANGLE_instanced_arrays"))return void console.error("THREE.WebGLRenderer.setupVertexAttributes: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");void 0===i&&(i=0),Qt.initAttributes();var r=n.attributes,o=e.getAttributes(),a=t.defaultAttributeValues;for(var s in o){var l=o[s];if(l>=0){var h=r[s];if(void 0!==h){var c=h.normalized,u=h.itemSize,p=te.get(h),d=p.buffer,f=p.type,m=p.bytesPerElement;if(h.isInterleavedBufferAttribute){var g=h.data,v=g.stride,y=h.offset;g&&g.isInstancedInterleavedBuffer?(Qt.enableAttributeAndDivisor(l,g.meshPerAttribute),void 0===n.maxInstancedCount&&(n.maxInstancedCount=g.meshPerAttribute*g.count)):Qt.enableAttribute(l),Wt.bindBuffer(Wt.ARRAY_BUFFER,d),Wt.vertexAttribPointer(l,u,f,c,v*m,(i*v+y)*m)}else h.isInstancedBufferAttribute?(Qt.enableAttributeAndDivisor(l,h.meshPerAttribute),void 0===n.maxInstancedCount&&(n.maxInstancedCount=h.meshPerAttribute*h.count)):Qt.enableAttribute(l),Wt.bindBuffer(Wt.ARRAY_BUFFER,d),Wt.vertexAttribPointer(l,u,f,c,0,i*u*m)}else if(void 0!==a){var _=a[s];if(void 0!==_)switch(_.length){case 2:Wt.vertexAttrib2fv(l,_);break;case 3:Wt.vertexAttrib3fv(l,_);break;case 4:Wt.vertexAttrib4fv(l,_);break;default:Wt.vertexAttrib1fv(l,_)}}}}Qt.disableUnusedAttributes()}function m(t,e,n){if(t.visible){var i=t.layers.test(e.layers);if(i)if(t.isLight)j.push(t);else if(t.isSprite)t.frustumCulled&&!At.intersectsSprite(t)||J.push(t);else if(t.isLensFlare)$.push(t);else if(t.isImmediateRenderObject)n&&Pt.setFromMatrixPosition(t.matrixWorld).applyMatrix4(St),Y.push(t,null,t.material,Pt.z,null);else if((t.isMesh||t.isLine||t.isPoints)&&(t.isSkinnedMesh&&t.skeleton.update(),!t.frustumCulled||At.intersectsObject(t))){n&&Pt.setFromMatrixPosition(t.matrixWorld).applyMatrix4(St);var r=ne.update(t),o=t.material;if(Array.isArray(o))for(var a=r.groups,s=0,l=a.length;s<l;s++){var h=a[s],c=o[h.materialIndex];c&&c.visible&&Y.push(t,r,c,Pt.z,h)}else o.visible&&Y.push(t,r,o,Pt.z,null)}for(var u=t.children,s=0,l=u.length;s<l;s++)m(u[s],e,n)}}function g(t,e,n,i){for(var r=0,o=t.length;r<o;r++){var a=t[r],s=a.object,l=a.geometry,h=void 0===i?a.material:i,c=a.group;if(s.onBeforeRender(tt,e,n,l,h,c),n.isArrayCamera&&n.enabled)for(var u=n.cameras,p=0,d=u.length;p<d;p++){var f=u[p],m=f.bounds;tt.setViewport(m.x*gt*yt,m.y*vt*yt,m.z*gt*yt,m.w*vt*yt),tt.setScissor(m.x*gt*yt,m.y*vt*yt,m.z*gt*yt,m.w*vt*yt),tt.setScissorTest(!0),v(s,e,f,l,h,c)}else v(s,e,n,l,h,c);s.onAfterRender(tt,e,n,l,h,c)}}function v(t,e,n,i,r,o){if(t.modelViewMatrix.multiplyMatrices(n.matrixWorldInverse,t.matrixWorld),t.normalMatrix.getNormalMatrix(t.modelViewMatrix),t.isImmediateRenderObject){Qt.setMaterial(r);var a=_(n,e.fog,r,t);st="",p(t,a,r)}else tt.renderBufferDirect(n,e.fog,i,r,t,o)}function y(t,e,n){var i=Jt.get(t),r=ie.getParameters(t,Ut,e,wt.numPlanes,wt.numIntersection,n),o=ie.getProgramCode(t,r),s=i.program,l=!0;if(void 0===s)t.addEventListener("dispose",a);else if(s.code!==o)u(t);else{if(void 0!==r.shaderID)return;l=!1}if(l){if(r.shaderID){var h=Bh[r.shaderID];i.__webglShader={name:t.type,uniforms:Ns.clone(h.uniforms),vertexShader:h.vertexShader,fragmentShader:h.fragmentShader}}else i.__webglShader={name:t.type,uniforms:t.uniforms,vertexShader:t.vertexShader,fragmentShader:t.fragmentShader};t.__webglShader=i.__webglShader,s=ie.acquireProgram(t,r,o),i.program=s,t.program=s}var c=s.getAttributes();if(t.morphTargets){t.numSupportedMorphTargets=0;for(var p=0;p<tt.maxMorphTargets;p++)c["morphTarget"+p]>=0&&t.numSupportedMorphTargets++}if(t.morphNormals){t.numSupportedMorphNormals=0;for(var p=0;p<tt.maxMorphNormals;p++)c["morphNormal"+p]>=0&&t.numSupportedMorphNormals++}var d=i.__webglShader.uniforms;(t.isShaderMaterial||t.isRawShaderMaterial)&&t.clipping!==!0||(i.numClippingPlanes=wt.numPlanes,i.numIntersection=wt.numIntersection,d.clippingPlanes=wt.uniform),i.fog=e,i.lightsHash=Ut.hash,t.lights&&(d.ambientLightColor.value=Ut.ambient,d.directionalLights.value=Ut.directional,d.spotLights.value=Ut.spot,d.rectAreaLights.value=Ut.rectArea,d.pointLights.value=Ut.point,d.hemisphereLights.value=Ut.hemi,d.directionalShadowMap.value=Ut.directionalShadowMap,d.directionalShadowMatrix.value=Ut.directionalShadowMatrix,d.spotShadowMap.value=Ut.spotShadowMap,d.spotShadowMatrix.value=Ut.spotShadowMatrix,d.pointShadowMap.value=Ut.pointShadowMap,d.pointShadowMatrix.value=Ut.pointShadowMatrix);var f=i.program.getUniforms(),m=X.seqWithValue(f.seq,d);i.uniformsList=m}function _(t,e,n,i){dt=0;var r=Jt.get(n);if(Et&&(Tt||t!==lt)){var o=t===lt&&n.id===at;wt.setState(n.clippingPlanes,n.clipIntersection,n.clipShadows,t,r,o)}n.needsUpdate===!1&&(void 0===r.program?n.needsUpdate=!0:n.fog&&r.fog!==e?n.needsUpdate=!0:n.lights&&r.lightsHash!==Ut.hash?n.needsUpdate=!0:void 0===r.numClippingPlanes||r.numClippingPlanes===wt.numPlanes&&r.numIntersection===wt.numIntersection||(n.needsUpdate=!0)),n.needsUpdate&&(y(n,e,i),n.needsUpdate=!1);var a=!1,s=!1,l=!1,h=r.program,u=h.getUniforms(),p=r.__webglShader.uniforms;if(h.id!==et&&(Wt.useProgram(h.program),et=h.id,a=!0,s=!0,l=!0),n.id!==at&&(at=n.id,s=!0),a||t!==lt){if(u.setValue(Wt,"projectionMatrix",t.projectionMatrix),qt.logarithmicDepthBuffer&&u.setValue(Wt,"logDepthBufFC",2/(Math.log(t.far+1)/Math.LN2)),t!==lt&&(lt=t,s=!0,l=!0),n.isShaderMaterial||n.isMeshPhongMaterial||n.isMeshStandardMaterial||n.envMap){var d=u.map.cameraPosition;void 0!==d&&d.setValue(Wt,Pt.setFromMatrixPosition(t.matrixWorld))}(n.isMeshPhongMaterial||n.isMeshLambertMaterial||n.isMeshBasicMaterial||n.isMeshStandardMaterial||n.isShaderMaterial||n.skinning)&&u.setValue(Wt,"viewMatrix",t.matrixWorldInverse),u.setValue(Wt,"toneMappingExposure",tt.toneMappingExposure),u.setValue(Wt,"toneMappingWhitePoint",tt.toneMappingWhitePoint)}if(n.skinning){u.setOptional(Wt,i,"bindMatrix"),u.setOptional(Wt,i,"bindMatrixInverse");var f=i.skeleton;if(f){var m=f.bones;if(qt.floatVertexTextures){if(void 0===f.boneTexture){var g=Math.sqrt(4*m.length);g=xs.nextPowerOfTwo(Math.ceil(g)),g=Math.max(g,4);var v=new Float32Array(g*g*4);v.set(f.boneMatrices);var _=new c(v,g,g,Va,La);f.boneMatrices=v,f.boneTexture=_,f.boneTextureSize=g}u.setValue(Wt,"boneTexture",f.boneTexture),u.setValue(Wt,"boneTextureSize",f.boneTextureSize)}else u.setOptional(Wt,f,"boneMatrices")}}return s&&(n.lights&&R(p,l),e&&n.fog&&E(p,e),(n.isMeshBasicMaterial||n.isMeshLambertMaterial||n.isMeshPhongMaterial||n.isMeshStandardMaterial||n.isMeshNormalMaterial||n.isMeshDepthMaterial)&&b(p,n),n.isLineBasicMaterial?x(p,n):n.isLineDashedMaterial?(x(p,n),A(p,n)):n.isPointsMaterial?w(p,n):n.isMeshLambertMaterial?T(p,n):n.isMeshToonMaterial?M(p,n):n.isMeshPhongMaterial?S(p,n):n.isMeshPhysicalMaterial?P(p,n):n.isMeshStandardMaterial?C(p,n):n.isMeshDepthMaterial?n.displacementMap&&(p.displacementMap.value=n.displacementMap,p.displacementScale.value=n.displacementScale,p.displacementBias.value=n.displacementBias):n.isMeshNormalMaterial&&L(p,n),void 0!==p.ltcMat&&(p.ltcMat.value=Rs.LTC_MAT_TEXTURE),void 0!==p.ltcMag&&(p.ltcMag.value=Rs.LTC_MAG_TEXTURE),X.upload(Wt,r.uniformsList,p,tt)),u.setValue(Wt,"modelViewMatrix",i.modelViewMatrix),u.setValue(Wt,"normalMatrix",i.normalMatrix),u.setValue(Wt,"modelMatrix",i.matrixWorld),h}function b(t,e){t.opacity.value=e.opacity,t.diffuse.value=e.color,e.emissive&&t.emissive.value.copy(e.emissive).multiplyScalar(e.emissiveIntensity),t.map.value=e.map,t.specularMap.value=e.specularMap,t.alphaMap.value=e.alphaMap,e.lightMap&&(t.lightMap.value=e.lightMap,t.lightMapIntensity.value=e.lightMapIntensity),e.aoMap&&(t.aoMap.value=e.aoMap,t.aoMapIntensity.value=e.aoMapIntensity);var n;if(e.map?n=e.map:e.specularMap?n=e.specularMap:e.displacementMap?n=e.displacementMap:e.normalMap?n=e.normalMap:e.bumpMap?n=e.bumpMap:e.roughnessMap?n=e.roughnessMap:e.metalnessMap?n=e.metalnessMap:e.alphaMap?n=e.alphaMap:e.emissiveMap&&(n=e.emissiveMap),void 0!==n){n.isWebGLRenderTarget&&(n=n.texture);var i=n.offset,r=n.repeat;t.offsetRepeat.value.set(i.x,i.y,r.x,r.y)}t.envMap.value=e.envMap,t.flipEnvMap.value=e.envMap&&e.envMap.isCubeTexture?-1:1,t.reflectivity.value=e.reflectivity,t.refractionRatio.value=e.refractionRatio}function x(t,e){t.diffuse.value=e.color,t.opacity.value=e.opacity}function A(t,e){t.dashSize.value=e.dashSize,t.totalSize.value=e.dashSize
12+e.gapSize,t.scale.value=e.scale}function w(t,e){if(t.diffuse.value=e.color,t.opacity.value=e.opacity,t.size.value=e.size*yt,t.scale.value=.5*vt,t.map.value=e.map,null!==e.map){var n=e.map.offset,i=e.map.repeat;t.offsetRepeat.value.set(n.x,n.y,i.x,i.y)}}function E(t,e){t.fogColor.value=e.color,e.isFog?(t.fogNear.value=e.near,t.fogFar.value=e.far):e.isFogExp2&&(t.fogDensity.value=e.density)}function T(t,e){e.emissiveMap&&(t.emissiveMap.value=e.emissiveMap)}function S(t,e){t.specular.value=e.specular,t.shininess.value=Math.max(e.shininess,1e-4),e.emissiveMap&&(t.emissiveMap.value=e.emissiveMap),e.bumpMap&&(t.bumpMap.value=e.bumpMap,t.bumpScale.value=e.bumpScale),e.normalMap&&(t.normalMap.value=e.normalMap,t.normalScale.value.copy(e.normalScale)),e.displacementMap&&(t.displacementMap.value=e.displacementMap,t.displacementScale.value=e.displacementScale,t.displacementBias.value=e.displacementBias)}function M(t,e){S(t,e),e.gradientMap&&(t.gradientMap.value=e.gradientMap)}function C(t,e){t.roughness.value=e.roughness,t.metalness.value=e.metalness,e.roughnessMap&&(t.roughnessMap.value=e.roughnessMap),e.metalnessMap&&(t.metalnessMap.value=e.metalnessMap),e.emissiveMap&&(t.emissiveMap.value=e.emissiveMap),e.bumpMap&&(t.bumpMap.value=e.bumpMap,t.bumpScale.value=e.bumpScale),e.normalMap&&(t.normalMap.value=e.normalMap,t.normalScale.value.copy(e.normalScale)),e.displacementMap&&(t.displacementMap.value=e.displacementMap,t.displacementScale.value=e.displacementScale,t.displacementBias.value=e.displacementBias),e.envMap&&(t.envMapIntensity.value=e.envMapIntensity)}function P(t,e){t.clearCoat.value=e.clearCoat,t.clearCoatRoughness.value=e.clearCoatRoughness,C(t,e)}function L(t,e){e.bumpMap&&(t.bumpMap.value=e.bumpMap,t.bumpScale.value=e.bumpScale),e.normalMap&&(t.normalMap.value=e.normalMap,t.normalScale.value.copy(e.normalScale)),e.displacementMap&&(t.displacementMap.value=e.displacementMap,t.displacementScale.value=e.displacementScale,t.displacementBias.value=e.displacementBias)}function R(t,e){t.ambientLightColor.needsUpdate=e,t.directionalLights.needsUpdate=e,t.pointLights.needsUpdate=e,t.spotLights.needsUpdate=e,t.rectAreaLights.needsUpdate=e,t.hemisphereLights.needsUpdate=e}function N(t){for(var e=0,n=0,i=t.length;n<i;n++){var r=t[n];r.castShadow&&(Ut.shadows[e]=r,e++)}Ut.shadows.length=e}function O(t,e){var n,i,r,o,a,s,l,h,c=0,u=0,p=0,d=e.matrixWorldInverse,f=0,m=0,g=0,v=0,y=0;for(n=0,i=t.length;n<i;n++)if(r=t[n],a=r.color,s=r.intensity,l=r.distance,h=r.shadow&&r.shadow.map?r.shadow.map.texture:null,r.isAmbientLight)c+=a.r*s,u+=a.g*s,p+=a.b*s;else if(r.isDirectionalLight){var _=re.get(r);_.color.copy(r.color).multiplyScalar(r.intensity),_.direction.setFromMatrixPosition(r.matrixWorld),Pt.setFromMatrixPosition(r.target.matrixWorld),_.direction.sub(Pt),_.direction.transformDirection(d),_.shadow=r.castShadow,r.castShadow&&(o=r.shadow,_.shadowBias=o.bias,_.shadowRadius=o.radius,_.shadowMapSize=o.mapSize),Ut.directionalShadowMap[f]=h,Ut.directionalShadowMatrix[f]=r.shadow.matrix,Ut.directional[f]=_,f++}else if(r.isSpotLight){var _=re.get(r);_.position.setFromMatrixPosition(r.matrixWorld),_.position.applyMatrix4(d),_.color.copy(a).multiplyScalar(s),_.distance=l,_.direction.setFromMatrixPosition(r.matrixWorld),Pt.setFromMatrixPosition(r.target.matrixWorld),_.direction.sub(Pt),_.direction.transformDirection(d),_.coneCos=Math.cos(r.angle),_.penumbraCos=Math.cos(r.angle*(1-r.penumbra)),_.decay=0===r.distance?0:r.decay,_.shadow=r.castShadow,r.castShadow&&(o=r.shadow,_.shadowBias=o.bias,_.shadowRadius=o.radius,_.shadowMapSize=o.mapSize),Ut.spotShadowMap[g]=h,Ut.spotShadowMatrix[g]=r.shadow.matrix,Ut.spot[g]=_,g++}else if(r.isRectAreaLight){var _=re.get(r);_.color.copy(a).multiplyScalar(s/(r.width*r.height)),_.position.setFromMatrixPosition(r.matrixWorld),_.position.applyMatrix4(d),Ot.identity(),Rt.copy(r.matrixWorld),Rt.premultiply(d),Ot.extractRotation(Rt),_.halfWidth.set(.5*r.width,0,0),_.halfHeight.set(0,.5*r.height,0),_.halfWidth.applyMatrix4(Ot),_.halfHeight.applyMatrix4(Ot),Ut.rectArea[v]=_,v++}else if(r.isPointLight){var _=re.get(r);_.position.setFromMatrixPosition(r.matrixWorld),_.position.applyMatrix4(d),_.color.copy(r.color).multiplyScalar(r.intensity),_.distance=r.distance,_.decay=0===r.distance?0:r.decay,_.shadow=r.castShadow,r.castShadow&&(o=r.shadow,_.shadowBias=o.bias,_.shadowRadius=o.radius,_.shadowMapSize=o.mapSize),Ut.pointShadowMap[m]=h,Ut.pointShadowMatrix[m]=r.shadow.matrix,Ut.point[m]=_,m++}else if(r.isHemisphereLight){var _=re.get(r);_.direction.setFromMatrixPosition(r.matrixWorld),_.direction.transformDirection(d),_.direction.normalize(),_.skyColor.copy(r.color).multiplyScalar(s),_.groundColor.copy(r.groundColor).multiplyScalar(s),Ut.hemi[y]=_,y++}Ut.ambient[0]=c,Ut.ambient[1]=u,Ut.ambient[2]=p,Ut.directional.length=f,Ut.spot.length=g,Ut.rectArea.length=v,Ut.point.length=m,Ut.hemi.length=y,Ut.hash=f+","+m+","+g+","+v+","+y+","+Ut.shadows.length}function I(){var t=dt;return t>=qt.maxTextures&&console.warn("WebGLRenderer: trying to use "+t+" texture units while this GPU supports only "+qt.maxTextures),dt+=1,t}function D(t){var e;if(t===ma)return Wt.REPEAT;if(t===ga)return Wt.CLAMP_TO_EDGE;if(t===va)return Wt.MIRRORED_REPEAT;if(t===ya)return Wt.NEAREST;if(t===_a)return Wt.NEAREST_MIPMAP_NEAREST;if(t===ba)return Wt.NEAREST_MIPMAP_LINEAR;if(t===xa)return Wt.LINEAR;if(t===Aa)return Wt.LINEAR_MIPMAP_NEAREST;if(t===wa)return Wt.LINEAR_MIPMAP_LINEAR;if(t===Ea)return Wt.UNSIGNED_BYTE;if(t===Na)return Wt.UNSIGNED_SHORT_4_4_4_4;if(t===Oa)return Wt.UNSIGNED_SHORT_5_5_5_1;if(t===Ia)return Wt.UNSIGNED_SHORT_5_6_5;if(t===Ta)return Wt.BYTE;if(t===Sa)return Wt.SHORT;if(t===Ma)return Wt.UNSIGNED_SHORT;if(t===Ca)return Wt.INT;if(t===Pa)return Wt.UNSIGNED_INT;if(t===La)return Wt.FLOAT;if(t===Ra&&(e=Zt.get("OES_texture_half_float"),null!==e))return e.HALF_FLOAT_OES;if(t===Ba)return Wt.ALPHA;if(t===Ua)return Wt.RGB;if(t===Va)return Wt.RGBA;if(t===Ga)return Wt.LUMINANCE;if(t===ka)return Wt.LUMINANCE_ALPHA;if(t===Fa)return Wt.DEPTH_COMPONENT;if(t===za)return Wt.DEPTH_STENCIL;if(t===Po)return Wt.FUNC_ADD;if(t===Lo)return Wt.FUNC_SUBTRACT;if(t===Ro)return Wt.FUNC_REVERSE_SUBTRACT;if(t===Io)return Wt.ZERO;if(t===Do)return Wt.ONE;if(t===Bo)return Wt.SRC_COLOR;if(t===Uo)return Wt.ONE_MINUS_SRC_COLOR;if(t===Vo)return Wt.SRC_ALPHA;if(t===Go)return Wt.ONE_MINUS_SRC_ALPHA;if(t===ko)return Wt.DST_ALPHA;if(t===Ho)return Wt.ONE_MINUS_DST_ALPHA;if(t===Fo)return Wt.DST_COLOR;if(t===zo)return Wt.ONE_MINUS_DST_COLOR;if(t===jo)return Wt.SRC_ALPHA_SATURATE;if((t===ja||t===Xa||t===Wa||t===Ya)&&(e=Zt.get("WEBGL_compressed_texture_s3tc"),null!==e)){if(t===ja)return e.COMPRESSED_RGB_S3TC_DXT1_EXT;if(t===Xa)return e.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(t===Wa)return e.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(t===Ya)return e.COMPRESSED_RGBA_S3TC_DXT5_EXT}
12if((t===Ka||t===Za||t===qa||t===Qa)&&(e=Zt.get("WEBGL_compressed_texture_pvrtc"),null!==e)){if(t===Ka)return e.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(t===Za)return e.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(t===qa)return e.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(t===Qa)return e.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}if(t===Ja&&(e=Zt.get("WEBGL_compressed_texture_etc1"),null!==e))return e.COMPRESSED_RGB_ETC1_WEBGL;if((t===No||t===Oo)&&(e=Zt.get("EXT_blend_minmax"),null!==e)){if(t===No)return e.MIN_EXT;if(t===Oo)return e.MAX_EXT}return t===Da&&(e=Zt.get("WEBGL_depth_texture"),null!==e)?e.UNSIGNED_INT_24_8_WEBGL:0}console.log("THREE.WebGLRenderer",io),t=t||{};var B=void 0!==t.canvas?t.canvas:document.createElementNS("http://www.w3.org/1999/xhtml","canvas"),U=void 0!==t.context?t.context:null,V=void 0!==t.alpha&&t.alpha,G=void 0===t.depth||t.depth,k=void 0===t.stencil||t.stencil,H=void 0!==t.antialias&&t.antialias,F=void 0===t.premultipliedAlpha||t.premultipliedAlpha,z=void 0!==t.preserveDrawingBuffer&&t.preserveDrawingBuffer,j=[],Y=null,q=new Float32Array(8),J=[],$=[];this.domElement=B,this.context=null,this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this.gammaFactor=2,this.gammaInput=!1,this.gammaOutput=!1,this.physicallyCorrectLights=!1,this.toneMapping=ia,this.toneMappingExposure=1,this.toneMappingWhitePoint=1,this.maxMorphTargets=8,this.maxMorphNormals=4;var tt=this,et=null,nt=null,ot=null,at=-1,st="",lt=null,ht=new r,ct=null,ut=new r,dt=0,ft=new W(0),mt=0,gt=B.width,vt=B.height,yt=1,_t=new r(0,0,gt,vt),bt=!1,xt=new r(0,0,gt,vt),At=new it,wt=new pe,Et=!1,Tt=!1,St=new h,Pt=new l,Rt=new h,Ot=new h,Ut={hash:"",ambient:[0,0,0],directional:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotShadowMap:[],spotShadowMatrix:[],rectArea:[],point:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],shadows:[]},Vt={geometries:0,textures:0},Gt={frame:0,calls:0,vertices:0,faces:0,points:0};this.info={render:Gt,memory:Vt,programs:null};var Wt;try{var Yt={alpha:V,depth:G,stencil:k,antialias:H,premultipliedAlpha:F,preserveDrawingBuffer:z};if(Wt=U||B.getContext("webgl",Yt)||B.getContext("experimental-webgl",Yt),null===Wt)throw null!==B.getContext("webgl")?"Error creating WebGL context with your selected attributes.":"Error creating WebGL context.";void 0===Wt.getShaderPrecisionFormat&&(Wt.getShaderPrecisionFormat=function(){return{rangeMin:1,rangeMax:1,precision:1}}),B.addEventListener("webglcontextlost",o,!1)}catch(Kt){console.error("THREE.WebGLRenderer: "+Kt)}var Zt=new ue(Wt);Zt.get("WEBGL_depth_texture"),Zt.get("OES_texture_float"),Zt.get("OES_texture_float_linear"),Zt.get("OES_texture_half_float"),Zt.get("OES_texture_half_float_linear"),Zt.get("OES_standard_derivatives"),Zt.get("ANGLE_instanced_arrays"),Zt.get("OES_element_index_uint")&&(Mt.MaxIndex=4294967296);var qt=new ce(Wt,Zt,t),Qt=new he(Wt,Zt,D),Jt=new le,$t=new se(Wt,Zt,Qt,Jt,qt,D,Vt),te=new Bt(Wt),ee=new zt(Wt,te,Vt),ne=new Xt(Wt,ee,Gt),ie=new ae(this,qt),re=new jt,oe=new kt;this.info.programs=ie.programs;var de,fe,me,ge,ve=new Ft(Wt,Zt,Gt),ye=new Ht(Wt,Zt,Gt);n(),this.context=Wt,this.capabilities=qt,this.extensions=Zt,this.properties=Jt,this.state=Qt;var _e=new rt(this,Ut,ne,qt);this.shadowMap=_e;var be=new Z(this,J),xe=new K(this,$);this.getContext=function(){return Wt},this.getContextAttributes=function(){return Wt.getContextAttributes()},this.forceContextLoss=function(){var t=Zt.get("WEBGL_lose_context");t&&t.loseContext()},this.getMaxAnisotropy=function(){return qt.getMaxAnisotropy()},this.getPrecision=function(){return qt.precision},this.getPixelRatio=function(){return yt},this.setPixelRatio=function(t){void 0!==t&&(yt=t,this.setSize(xt.z,xt.w,!1))},this.getSize=function(){return{width:gt,height:vt}},this.setSize=function(t,e,n){gt=t,vt=e,B.width=t*yt,B.height=e*yt,n!==!1&&(B.style.width=t+"px",B.style.height=e+"px"),this.setViewport(0,0,t,e)},this.setViewport=function(t,e,n,i){Qt.viewport(xt.set(t,e,n,i))},this.setScissor=function(t,e,n,i){Qt.scissor(_t.set(t,e,n,i))},this.setScissorTest=function(t){Qt.setScissorTest(bt=t)}
12,this.getClearColor=function(){return ft},this.setClearColor=function(t,e){ft.set(t),mt=void 0!==e?e:1,Qt.buffers.color.setClear(ft.r,ft.g,ft.b,mt,F)},this.getClearAlpha=function(){return mt},this.setClearAlpha=function(t){mt=t,Qt.buffers.color.setClear(ft.r,ft.g,ft.b,mt,F)},this.clear=function(t,e,n){var i=0;(void 0===t||t)&&(i|=Wt.COLOR_BUFFER_BIT),(void 0===e||e)&&(i|=Wt.DEPTH_BUFFER_BIT),(void 0===n||n)&&(i|=Wt.STENCIL_BUFFER_BIT),Wt.clear(i)},this.clearColor=function(){this.clear(!0,!1,!1)},this.clearDepth=function(){this.clear(!1,!0,!1)},this.clearStencil=function(){this.clear(!1,!1,!0)},this.clearTarget=function(t,e,n,i){this.setRenderTarget(t),this.clear(e,n,i)},this.resetGLState=i,this.dispose=function(){B.removeEventListener("webglcontextlost",o,!1),oe.dispose()},this.renderBufferImmediate=function(t,e,n){Qt.initAttributes();var i=Jt.get(t);t.hasPositions&&!i.position&&(i.position=Wt.createBuffer()),t.hasNormals&&!i.normal&&(i.normal=Wt.createBuffer()),t.hasUvs&&!i.uv&&(i.uv=Wt.createBuffer()),t.hasColors&&!i.color&&(i.color=Wt.createBuffer());var r=e.getAttributes();if(t.hasPositions&&(Wt.bindBuffer(Wt.ARRAY_BUFFER,i.position),Wt.bufferData(Wt.ARRAY_BUFFER,t.positionArray,Wt.DYNAMIC_DRAW),Qt.enableAttribute(r.position),Wt.vertexAttribPointer(r.position,3,Wt.FLOAT,!1,0,0)),t.hasNormals){if(Wt.bindBuffer(Wt.ARRAY_BUFFER,i.normal),!n.isMeshPhongMaterial&&!n.isMeshStandardMaterial&&!n.isMeshNormalMaterial&&n.shading===yo)for(var o=0,a=3*t.count;o<a;o+=9){var s=t.normalArray,l=(s[o+0]+s[o+3]+s[o+6])/3,h=(s[o+1]+s[o+4]+s[o+7])/3,c=(s[o+2]+s[o+5]+s[o+8])/3;s[o+0]=l,s[o+1]=h,s[o+2]=c,s[o+3]=l,s[o+4]=h,s[o+5]=c,s[o+6]=l,s[o+7]=h,s[o+8]=c}Wt.bufferData(Wt.ARRAY_BUFFER,t.normalArray,Wt.DYNAMIC_DRAW),Qt.enableAttribute(r.normal),Wt.vertexAttribPointer(r.normal,3,Wt.FLOAT,!1,0,0)}t.hasUvs&&n.map&&(Wt.bindBuffer(Wt.ARRAY_BUFFER,i.uv),Wt.bufferData(Wt.ARRAY_BUFFER,t.uvArray,Wt.DYNAMIC_DRAW),Qt.enableAttribute(r.uv),Wt.vertexAttribPointer(te.uv,2,Wt.FLOAT,!1,0,0)),t.hasColors&&n.vertexColors!==bo&&(Wt.bindBuffer(Wt.ARRAY_BUFFER,i.color),Wt.bufferData(Wt.ARRAY_BUFFER,t.colorArray,Wt.DYNAMIC_DRAW),Qt.enableAttribute(r.color),Wt.vertexAttribPointer(r.color,3,Wt.FLOAT,!1,0,0)),Qt.disableUnusedAttributes(),Wt.drawArrays(Wt.TRIANGLES,0,t.count),t.count=0},this.renderBufferDirect=function(t,n,i,r,o,a){Qt.setMaterial(r);var s=_(t,n,r,o),l=i.id+"_"+s.id+"_"+(r.wireframe===!0),h=!1;l!==st&&(st=l,h=!0);var c=o.morphTargetInfluences;if(void 0!==c){for(var u=[],p=0,m=c.length;p<m;p++){var g=c[p];u.push([g,p])}u.sort(d),u.length>8&&(u.length=8);for(var v=i.morphAttributes,p=0,m=u.length;p<m;p++){var g=u[p];if(q[p]=g[0],0!==g[0]){var y=g[1];r.morphTargets===!0&&v.position&&i.addAttribute("morphTarget"+p,v.position[y]),r.morphNormals===!0&&v.normal&&i.addAttribute("morphNormal"+p,v.normal[y])}else r.morphTargets===!0&&i.removeAttribute("morphTarget"+p),r.morphNormals===!0&&i.removeAttribute("morphNormal"+p)}for(var p=u.length,b=q.length;p<b;p++)q[p]=0;s.getUniforms().setValue(Wt,"morphTargetInfluences",q),h=!0}var y=i.index,x=i.attributes.position,A=1;r.wireframe===!0&&(y=ee.getWireframeAttribute(i),A=2);var w=ve;null!==y&&(w=ye,w.setIndex(y)),h&&(f(r,s,i),null!==y&&Wt.bindBuffer(Wt.ELEMENT_ARRAY_BUFFER,te.get(y).buffer));var E=0;null!==y?E=y.count:void 0!==x&&(E=x.count);var T=i.drawRange.start*A,S=i.drawRange.count*A,M=null!==a?a.start*A:0,C=null!==a?a.count*A:1/0,P=Math.max(T,M),L=Math.min(E,T+S,M+C)-1,R=Math.max(0,L-P+1);if(0!==R){if(o.isMesh)if(r.wireframe===!0)Qt.setLineWidth(r.wireframeLinewidth*e()),w.setMode(Wt.LINES);else switch(o.drawMode){case ls:w.setMode(Wt.TRIANGLES);break;case hs:w.setMode(Wt.TRIANGLE_STRIP);break;case cs:w.setMode(Wt.TRIANGLE_FAN)}else if(o.isLine){var N=r.linewidth;void 0===N&&(N=1),Qt.setLineWidth(N*e()),o.isLineSegments?w.setMode(Wt.LINES):o.isLineLoop?w.setMode(Wt.LINE_LOOP):w.setMode(Wt.LINE_STRIP)}else o.isPoints&&w.setMode(Wt.POINTS);i&&i.isInstancedBufferGeometry?i.maxInstancedCount>0&&w.renderInstances(i,P,R):w.render(P,R)}},this.compile=function(t,e){j=[],t.traverse(function(t){t.isLight&&j.push(t)}),O(j,e),t.traverse(function(e){if(e.material)if(Array.isArray(e.material))for(var n=0;n<e.material.length;n++)y(e.material[n],t.fog,e);else y(e.material,t.fog,e)})},this.render=function(t,e,n,i){if(void 0!==e&&e.isCamera!==!0)return void console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");st="",at=-1,lt=null,t.autoUpdate===!0&&t.updateMatrixWorld(),e.onBeforeRender(tt),null===e.parent&&e.updateMatrixWorld(),e.matrixWorldInverse.getInverse(e.matrixWorld),St.multiplyMatrices(e.projectionMatrix,e.matrixWorldInverse),At.setFromMatrix(St),j.length=0,J.length=0,$.length=0,Tt=this.localClippingEnabled,Et=wt.init(this.clippingPlanes,Tt,e),Y=oe.get(t,e),Y.init(),m(t,e,tt.sortObjects),Y.finish(),tt.sortObjects===!0&&Y.sort(),Et&&wt.beginShadows(),N(j),_e.render(t,e),O(j,e),Et&&wt.endShadows(),Gt.frame++,Gt.calls=0,Gt.vertices=0,Gt.faces=0,Gt.points=0,void 0===n&&(n=null),this.setRenderTarget(n);var r=t.background;null===r?Qt.buffers.color.setClear(ft.r,ft.g,ft.b,mt,F):r&&r.isColor&&(Qt.buffers.color.setClear(r.r,r.g,r.b,1,F),i=!0),(this.autoClear||i)&&this.clear(this.autoClearColor,this.autoClearDepth,this.autoClearStencil),r&&r.isCubeTexture?(void 0===me&&(me=new It,ge=new Ct(new Lt(5,5,5),new Q({uniforms:Bh.cube.uniforms,vertexShader:Bh.cube.vertexShader,fragmentShader:Bh.cube.fragmentShader,side:go,depthTest:!1,depthWrite:!1,fog:!1}))),me.projectionMatrix.copy(e.projectionMatrix),me.matrixWorld.extractRotation(e.matrixWorld),me.matrixWorldInverse.getInverse(me.matrixWorld),ge.material.uniforms.tCube.value=r,ge.modelViewMatrix.multiplyMatrices(me.matrixWorldInverse,ge.matrixWorld),ne.update(ge),tt.renderBufferDirect(me,null,ge.geometry,ge.material,ge,null)):r&&r.isTexture&&(void 0===de&&(de=new Dt((-1),1,1,(-1),0,1),fe=new Ct(new Nt(2,2),new pt({depthTest:!1,depthWrite:!1,fog:!1}))),fe.material.map=r,ne.update(fe),tt.renderBufferDirect(de,null,fe.geometry,fe.material,fe,null));var o=Y.opaque,a=Y.transparent;if(t.overrideMaterial){var s=t.overrideMaterial;o.length&&g(o,t,e,s),a.length&&g(a,t,e,s)}else o.length&&g(o,t,e),a.length&&g(a,t,e);be.render(t,e),xe.render(t,e,ut),n&&$t.updateRenderTargetMipmap(n),Qt.buffers.depth.setTest(!0),Qt.buffers.depth.setMask(!0),Qt.buffers.color.setMask(!0),e.isArrayCamera&&e.enabled&&tt.setScissorTest(!1),e.onAfterRender(tt)},this.setFaceCulling=function(t,e){Qt.setCullFace(t),Qt.setFlipSided(e===ho)},this.allocTextureUnit=I,this.setTexture2D=function(){var t=!1;return function(e,n){e&&e.isWebGLRenderTarget&&(t||(console.warn("THREE.WebGLRenderer.setTexture2D: don't use render targets as textures. Use their .texture property instead."), 13t=!0),e=e.texture),$t.setTexture2D(e,n)}}(),this.setTexture=function(){var t=!1;return function(e,n){t||(console.warn("THREE.WebGLRenderer: .setTexture is deprecated, use setTexture2D instead."),t=!0),$t.setTexture2D(e,n)}}(),this.setTextureCube=function(){var t=!1;return function(e,n){e&&e.isWebGLRenderTargetCube&&(t||(console.warn("THREE.WebGLRenderer.setTextureCube: don't use cube render targets as textures. Use their .texture property instead."),t=!0),e=e.texture),e&&e.isCubeTexture||Array.isArray(e.image)&&6===e.image.length?$t.setTextureCube(e,n):$t.setTextureCubeDynamic(e,n)}}(),this.getRenderTarget=function(){return nt},this.setRenderTarget=function(t){nt=t,t&&void 0===Jt.get(t).__webglFramebuffer&&$t.setupRenderTarget(t);var e,n=t&&t.isWebGLRenderTargetCube;if(t){var i=Jt.get(t);e=n?i.__webglFramebuffer[t.activeCubeFace]:i.__webglFramebuffer,ht.copy(t.scissor),ct=t.scissorTest,ut.copy(t.viewport)}else e=null,ht.copy(_t).multiplyScalar(yt),ct=bt,ut.copy(xt).multiplyScalar(yt);if(ot!==e&&(Wt.bindFramebuffer(Wt.FRAMEBUFFER,e),ot=e),Qt.scissor(ht),Qt.setScissorTest(ct),Qt.viewport(ut),n){var r=Jt.get(t.texture);Wt.framebufferTexture2D(Wt.FRAMEBUFFER,Wt.COLOR_ATTACHMENT0,Wt.TEXTURE_CUBE_MAP_POSITIVE_X+t.activeCubeFace,r.__webglTexture,t.activeMipMapLevel)}},this.readRenderTargetPixels=function(t,e,n,i,r,o){if((t&&t.isWebGLRenderTarget)===!1)return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");var a=Jt.get(t).__webglFramebuffer;if(a){var s=!1;a!==ot&&(Wt.bindFramebuffer(Wt.FRAMEBUFFER,a),s=!0);try{var l=t.texture,h=l.format,c=l.type;if(h!==Va&&D(h)!==Wt.getParameter(Wt.IMPLEMENTATION_COLOR_READ_FORMAT))return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");if(!(c===Ea||D(c)===Wt.getParameter(Wt.IMPLEMENTATION_COLOR_READ_TYPE)||c===La&&(Zt.get("OES_texture_float")||Zt.get("WEBGL_color_buffer_float"))||c===Ra&&Zt.get("EXT_color_buffer_half_float")))return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");Wt.checkFramebufferStatus(Wt.FRAMEBUFFER)===Wt.FRAMEBUFFER_COMPLETE?e>=0&&e<=t.width-i&&n>=0&&n<=t.height-r&&Wt.readPixels(e,n,i,r,D(h),D(c),o):console.error("THREE.WebGLRenderer.readRenderTargetPixels: readPixels from renderTarget failed. Framebuffer not complete.")}finally{s&&Wt.bindFramebuffer(Wt.FRAMEBUFFER,ot)}}}}function fe(t,e){this.name="",this.color=new W(t),this.density=void 0!==e?e:25e-5}function me(t,e,n){this.name="",this.color=new W(t),this.near=void 0!==e?e:1,this.far=void 0!==n?n:1e3}function ge(){lt.call(this),this.type="Scene",this.background=null,this.fog=null,this.overrideMaterial=null,this.autoUpdate=!0}function ve(t,e,n,i,r){lt.call(this),this.lensFlares=[],this.positionScreen=new l,this.customUpdateCallback=void 0,void 0!==t&&this.add(t,e,n,i,r)}function ye(t){q.call(this),this.type="SpriteMaterial",this.color=new W(16777215),this.map=null,this.rotation=0,this.fog=!1,this.lights=!1,this.setValues(t)}function _e(t){lt.call(this),this.type="Sprite",this.material=void 0!==t?t:new ye}function be(){lt.call(this),this.type="LOD",Object.defineProperties(this,{levels:{enumerable:!0,value:[]}})}function xe(t,e){if(t=t||[],this.bones=t.slice(0),this.boneMatrices=new Float32Array(16*this.bones.length),void 0===e)this.calculateInverses();else if(this.bones.length===e.length)this.boneInverses=e.slice(0);else{console.warn("THREE.Skeleton boneInverses is the wrong length."),this.boneInverses=[];for(var n=0,i=this.bones.length;n<i;n++)this.boneInverses.push(new h)}}function Ae(){lt.call(this),this.type="Bone"}function we(t,e){Ct.call(this,t,e),this.type="SkinnedMesh",this.bindMode="attached",this.bindMatrix=new h,this.bindMatrixInverse=new h;var n=this.initBones(),i=new xe(n);this.bind(i,this.matrixWorld),this.normalizeSkinWeights()}function Ee(t){q.call(this),this.type="LineBasicMaterial",this.color=new W(16777215),this.linewidth=1,this.linecap="round",this.linejoin="round",this.lights=!1,this.setValues(t)}function Te(t,e,n){return 1===n?(console.warn("THREE.Line: parameter THREE.LinePieces no longer supported. Created THREE.LineSegments instead."),new Se(t,e)):(lt.call(this),this.type="Line",this.geometry=void 0!==t?t:new Mt,void(this.material=void 0!==e?e:new Ee({color:16777215*Math.random()})))}function Se(t,e){Te.call(this,t,e),this.type="LineSegments"}function Me(t,e){Te.call(this,t,e),this.type="LineLoop"}function Ce(t){q.call(this),this.type="PointsMaterial",this.color=new W(16777215),this.map=null,this.size=1,this.sizeAttenuation=!0,this.lights=!1,this.setValues(t)}function Pe(t,e){lt.call(this),this.type="Points",this.geometry=void 0!==t?t:new Mt,this.material=void 0!==e?e:new Ce({color:16777215*Math.random()})}function Le(){lt.call(this),this.type="Group"}function Re(t,e,n,r,o,a,s,l,h){function c(){requestAnimationFrame(c),t.readyState>=t.HAVE_CURRENT_DATA&&(u.needsUpdate=!0)}i.call(this,t,e,n,r,o,a,s,l,h),this.generateMipmaps=!1;var u=this;c()}function Ne(t,e,n,r,o,a,s,l,h,c,u,p){i.call(this,null,a,s,l,h,c,r,o,u,p),this.image={width:e,height:n},this.mipmaps=t,this.flipY=!1,this.generateMipmaps=!1}function Oe(t,e,n,r,o,a,s,l,h){i.call(this,t,e,n,r,o,a,s,l,h),this.needsUpdate=!0}function Ie(t,e,n,r,o,a,s,l,h,c){if(c=void 0!==c?c:Fa,c!==Fa&&c!==za)throw new Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat");void 0===n&&c===Fa&&(n=Ma),void 0===n&&c===za&&(n=Da),i.call(this,null,r,o,a,s,l,c,n,h),this.image={width:t,height:e},this.magFilter=void 0!==s?s:ya,this.minFilter=void 0!==l?l:ya,this.flipY=!1,this.generateMipmaps=!1}function De(t){Mt.call(this),this.type="WireframeGeometry";var e,n,i,r,o,a,s,h,c,u,p=[],d=[0,0],f={},m=["a","b","c"];if(t&&t.isGeometry){var g=t.faces;for(e=0,i=g.length;e<i;e++){var v=g[e];for(n=0;n<3;n++)s=v[m[n]],h=v[m[(n+1)%3]],d[0]=Math.min(s,h),d[1]=Math.max(s,h),c=d[0]+","+d[1],void 0===f[c]&&(f[c]={index1:d[0],index2:d[1]})}for(c in f)a=f[c],u=t.vertices[a.index1],p.push(u.x,u.y,u.z),u=t.vertices[a.index2],p.push(u.x,u.y,u.z)}else if(t&&t.isBufferGeometry){var y,_,b,x,A,w,E,T;if(u=new l,null!==t.index){for(y=t.attributes.position,_=t.index,b=t.groups,0===b.length&&(b=[{start:0,count:_.count,materialIndex:0}]),r=0,o=b.length;r<o;++r)for(x=b[r],A=x.start,w=x.count,e=A,i=A+w;e<i;e+=3)for(n=0;n<3;n++)s=_.getX(e+n),h=_.getX(e+(n+1)%3),d[0]=Math.min(s,h),d[1]=Math.max(s,h),c=d[0]+","+d[1],void 0===f[c]&&(f[c]={index1:d[0],index2:d[1]});for(c in f)a=f[c],u.fromBufferAttribute(y,a.index1),p.push(u.x,u.y,u.z),u.fromBufferAttribute(y,a.index2),p.push(u.x,u.y,u.z)}else for(y=t.attributes.position,e=0,i=y.count/3;e<i;e++)for(n=0;n<3;n++)E=3*e+n,u.fromBufferAttribute(y,E),p.push(u.x,u.y,u.z),T=3*e+(n+1)%3,u.fromBufferAttribute(y,T),p.push(u.x,u.y,u.z)}this.addAttribute("position",new xt(p,3))}function Be(t,e,n){St.call(this),this.type="ParametricGeometry",this.parameters={func:t,slices:e,stacks:n},this.fromBufferGeometry(new Ue(t,e,n)),this.mergeVertices()}function Ue(t,e,n){Mt.call(this),this.type="ParametricBufferGeometry",this.parameters={func:t,slices:e,stacks:n};var i,r,o=[],a=[],s=[],h=[],c=1e-5,u=new l,p=new l,d=new l,f=new l,m=new l,g=e+1;for(i=0;i<=n;i++){var v=i/n;for(r=0;r<=e;r++){var y=r/e;p=t(y,v,p),a.push(p.x,p.y,p.z),y-c>=0?(d=t(y-c,v,d),f.subVectors(p,d)):(d=t(y+c,v,d),f.subVectors(d,p)),v-c>=0?(d=t(y,v-c,d),m.subVectors(p,d)):(d=t(y,v+c,d),m.subVectors(d,p)),u.crossVectors(f,m).normalize(),s.push(u.x,u.y,u.z),h.push(y,v)}}for(i=0;i<n;i++)for(r=0;r<e;r++){var _=i*g+r,b=i*g+r+1,x=(i+1)*g+r+1,A=(i+1)*g+r;o.push(_,b,A),o.push(b,x,A)}this.setIndex(o),this.addAttribute("position",new xt(a,3)),this.addAttribute("normal",new xt(s,3)),this.addAttribute("uv",new xt(h,2))}function Ve(t,e,n,i){St.call(this),this.type="PolyhedronGeometry",this.parameters={vertices:t,indices:e,radiu
vendor: 3,770 bytes, line 13
13s:n,detail:i},this.fromBufferGeometry(new Ge(t,e,n,i)),this.mergeVertices()}function Ge(t,e,i,r){function o(t){for(var n=new l,i=new l,r=new l,o=0;o<e.length;o+=3)p(e[o+0],n),p(e[o+1],i),p(e[o+2],r),a(n,i,r,t)}function a(t,e,n,i){var r,o,a=Math.pow(2,i),s=[];for(r=0;r<=a;r++){s[r]=[];var l=t.clone().lerp(n,r/a),h=e.clone().lerp(n,r/a),c=a-r;for(o=0;o<=c;o++)0===o&&r===a?s[r][o]=l:s[r][o]=l.clone().lerp(h,o/c)}for(r=0;r<a;r++)for(o=0;o<2*(a-r)-1;o++){var p=Math.floor(o/2);o%2===0?(u(s[r][p+1]),u(s[r+1][p]),u(s[r][p])):(u(s[r][p+1]),u(s[r+1][p+1]),u(s[r+1][p]))}}function s(t){for(var e=new l,n=0;n<v.length;n+=3)e.x=v[n+0],e.y=v[n+1],e.z=v[n+2],e.normalize().multiplyScalar(t),v[n+0]=e.x,v[n+1]=e.y,v[n+2]=e.z}function h(){for(var t=new l,e=0;e<v.length;e+=3){t.x=v[e+0],t.y=v[e+1],t.z=v[e+2];var n=m(t)/2/Math.PI+.5,i=g(t)/Math.PI+.5;y.push(n,1-i)}d(),c()}function c(){for(var t=0;t<y.length;t+=6){var e=y[t+0],n=y[t+2],i=y[t+4],r=Math.max(e,n,i),o=Math.min(e,n,i);r>.9&&o<.1&&(e<.2&&(y[t+0]+=1),n<.2&&(y[t+2]+=1),i<.2&&(y[t+4]+=1))}}function u(t){v.push(t.x,t.y,t.z)}function p(e,n){var i=3*e;n.x=t[i+0],n.y=t[i+1],n.z=t[i+2]}function d(){for(var t=new l,e=new l,i=new l,r=new l,o=new n,a=new n,s=new n,h=0,c=0;h<v.length;h+=9,c+=6){t.set(v[h+0],v[h+1],v[h+2]),e.set(v[h+3],v[h+4],v[h+5]),i.set(v[h+6],v[h+7],v[h+8]),o.set(y[c+0],y[c+1]),a.set(y[c+2],y[c+3]),s.set(y[c+4],y[c+5]),r.copy(t).add(e).add(i).divideScalar(3);var u=m(r);f(o,c+0,t,u),f(a,c+2,e,u),f(s,c+4,i,u)}}function f(t,e,n,i){i<0&&1===t.x&&(y[e]=t.x-1),0===n.x&&0===n.z&&(y[e]=i/2/Math.PI+.5)}function m(t){return Math.atan2(t.z,-t.x)}function g(t){return Math.atan2(-t.y,Math.sqrt(t.x*t.x+t.z*t.z))}Mt.call(this),this.type="PolyhedronBufferGeometry",this.parameters={vertices:t,indices:e,radius:i,detail:r},i=i||1,r=r||0;var v=[],y=[];o(r),s(i),h(),this.addAttribute("position",new xt(v,3)),this.addAttribute("normal",new xt(v.slice(),3)),this.addAttribute("uv",new xt(y,2)),this.normalizeNormals()}function ke(t,e){St.call(this),this.type="TetrahedronGeometry",this.parameters={radius:t,detail:e},this.fromBufferGeometry(new He(t,e)),this.mergeVertices()}function He(t,e){var n=[1,1,1,-1,-1,1,-1,1,-1,1,-1,-1],i=[2,1,0,0,3,2,1,3,0,2,3,1];Ge.call(this,n,i,t,e),this.type="TetrahedronBufferGeometry",this.parameters={radius:t,detail:e}}function Fe(t,e){St.call(this),this.type="OctahedronGeometry",this.parameters={radius:t,detail:e},this.fromBufferGeometry(new ze(t,e)),this.mergeVertices()}function ze(t,e){var n=[1,0,0,-1,0,0,0,1,0,0,-1,0,0,0,1,0,0,-1],i=[0,2,4,0,4,3,0,3,5,0,5,2,1,2,5,1,5,3,1,3,4,1,4,2];Ge.call(this,n,i,t,e),this.type="OctahedronBufferGeometry",this.parameters={radius:t,detail:e}}function je(t,e){St.call(this),this.type="IcosahedronGeometry",this.parameters={radius:t,detail:e},this.fromBufferGeometry(new Xe(t,e)),this.mergeVertices()}function Xe(t,e){var n=(1+Math.sqrt(5))/2,i=[-1,n,0,1,n,0,-1,-n,0,1,-n,0,0,-1,n,0,1,n,0,-1,-n,0,1,-n,n,0,-1,n,0,1,-n,0,-1,-n,0,1],r=[0,11,5,0,5,1,0,1,7,0,7,10,0,10,11,1,5,9,5,11,4,11,10,2,10,7,6,7,1,8,3,9,4,3,4,2,3,2,6,3,6,8,3,8,9,4,9,5,2,4,11,6,2,10,8,6,7,9,8,1];Ge.call(this,i,r,t,e),this.type="IcosahedronBufferGeometry",this.parameters={radius:t,detail:e}}function We(t,e){St.call(this),this.type="DodecahedronGeometry",this.parameters={radius:t,detail:e},this.fromBufferGeometry(new Ye(t,e)),this.mergeVertices()}function Ye(t,e){var n=(1+Math.sqrt(5))/2,i=1/n,r=[-1,-1,-1,-1,-1,1,-1,1,-1,-1,1,1,1,-1,-1,1,-1,1,1,1,-1,1,1,1,0,-i,-n,0,-i,n,0,i,-n,0,i,n,-i,-n,0,-i,n,0,i,-n,0,i,n,0,-n,0,-i,n,0,-i,-n,0,i,n,0,i],o=[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,
1319,5,14,19,14,4,19,4,17,1,12,14,1,14,5,1,5,9];Ge.call(this,r,o,t,e),this.type="DodecahedronBufferGeometry",this.parameters={radius:t,detail:e}}function Ke(t,e,n,i,r,o){St.call(this),this.type="TubeGeometry",this.parameters={path:t,tubularSegments:e,radius:n,radialSegments:i,closed:r},void 0!==o&&console.warn("THREE.TubeGeometry: taper has been removed.");var a=new Ze(t,e,n,i,r);this.tangents=a.tangents,this.normals=a.normals,this.binormals=a.binormals,this.fromBufferGeometry(a),this.mergeVertices()}function Ze(t,e,i,r,o){function a(){for(p=0;p<e;p++)s(p);s(o===!1?e:0),c(),h()}function s(n){var o=t.getPointAt(n/e),a=u.normals[n],s=u.binormals[n];for(d=0;d<=r;d++){var l=d/r*Math.PI*2,h=Math.sin(l),c=-Math.cos(l);m.x=c*a.x+h*s.x,m.y=c*a.y+h*s.y,m.z=c*a.z+h*s.z,m.normalize(),y.push(m.x,m.y,m.z),f.x=o.x+i*m.x,f.y=o.y+i*m.y,f.z=o.z+i*m.z,v.push(f.x,f.y,f.z)}}function h(){for(d=1;d<=e;d++)for(p=1;p<=r;p++){var t=(r+1)*(d-1)+(p-1),n=(r+1)*d+(p-1),i=(r+1)*d+p,o=(r+1)*(d-1)+p;b.push(t,n,o),b.push(n,i,o)}}function c(){for(p=0;p<=e;p++)for(d=0;d<=r;d++)g.x=p/e,g.y=d/r,_.push(g.x,g.y)}Mt.call(this),this.type="TubeBufferGeometry",this.parameters={path:t,tubularSegments:e,radius:i,radialSegments:r,closed:o},e=e||64,i=i||1,r=r||8,o=o||!1;var u=t.computeFrenetFrames(e,o);this.tangents=u.tangents,this.normals=u.normals,this.binormals=u.binormals;var p,d,f=new l,m=new l,g=new n,v=[],y=[],_=[],b=[];a(),this.setIndex(b),this.addAttribute("position",new xt(v,3)),this.addAttribute("normal",new xt(y,3)),this.addAttribute("uv",new xt(_,2))}function qe(t,e,n,i,r,o,a){St.call(this),this.type="TorusKnotGeometry",this.parameters={radius:t,tube:e,tubularSegments:n,radialSegments:i,p:r,q:o},void 0!==a&&console.warn("THREE.TorusKnotGeometry: heightScale has been deprecated. Use .scale( x, y, z ) instead."),this.fromBufferGeometry(new Qe(t,e,n,i,r,o)),this.mergeVertices()}function Qe(t,e,n,i,r,o){function a(t,e,n,i,r){var o=Math.cos(t),a=Math.sin(t),s=n/e*t,l=Math.cos(s);r.x=i*(2+l)*.5*o,r.y=i*(2+l)*a*.5,r.z=i*Math.sin(s)*.5}Mt.call(this),this.type="TorusKnotBufferGeometry",this.parameters={radius:t,tube:e,tubularSegments:n,radialSegments:i,p:r,q:o},t=t||100,e=e||40,n=Math.floor(n)||64,i=Math.floor(i)||8,r=r||2,o=o||3;var s,h,c=[],u=[],p=[],d=[],f=new l,m=new l,g=new l,v=new l,y=new l,_=new l,b=new l;for(s=0;s<=n;++s){var x=s/n*r*Math.PI*2;for(a(x,r,o,t,g),a(x+.01,r,o,t,v),_.subVectors(v,g),b.addVectors(v,g),y.crossVectors(_,b),b.crossVectors(y,_),y.normalize(),b.normalize(),h=0;h<=i;++h){var A=h/i*Math.PI*2,w=-e*Math.cos(A),E=e*Math.sin(A);f.x=g.x+(w*b.x+E*y.x),f.y=g.y+(w*b.y+E*y.y),f.z=g.z+(w*b.z+E*y.z),u.push(f.x,f.y,f.z),m.subVectors(f,g).normalize(),p.push(m.x,m.y,m.z),d.push(s/n),d.push(h/i)}}for(h=1;h<=n;h++)for(s=1;s<=i;s++){var T=(i+1)*(h-1)+(s-1),S=(i+1)*h+(s-1),M=(i+1)*h+s,C=(i+1)*(h-1)+s;
13c.push(T,S,C),c.push(S,M,C)}this.setIndex(c),this.addAttribute("position",new xt(u,3)),this.addAttribute("normal",new xt(p,3)),this.addAttribute("uv",new xt(d,2))}function Je(t,e,n,i,r){St.call(this),this.type="TorusGeometry",this.parameters={radius:t,tube:e,radialSegments:n,tubularSegments:i,arc:r},this.fromBufferGeometry(new $e(t,e,n,i,r)),this.mergeVertices()}function $e(t,e,n,i,r){Mt.call(this),this.type="TorusBufferGeometry",this.parameters={radius:t,tube:e,radialSegments:n,tubularSegments:i,arc:r},t=t||100,e=e||40,n=Math.floor(n)||8,i=Math.floor(i)||6,r=r||2*Math.PI;var o,a,s=[],h=[],c=[],u=[],p=new l,d=new l,f=new l;for(o=0;o<=n;o++)for(a=0;a<=i;a++){var m=a/i*r,g=o/n*Math.PI*2;d.x=(t+e*Math.cos(g))*Math.cos(m),d.y=(t+e*Math.cos(g))*Math.sin(m),d.z=e*Math.sin(g),h.push(d.x,d.y,d.z),p.x=t*Math.cos(m),p.y=t*Math.sin(m),f.subVectors(d,p).normalize(),c.push(f.x,f.y,f.z),u.push(a/i),u.push(o/n)}for(o=1;o<=n;o++)for(a=1;a<=i;a++){var v=(i+1)*o+a-1,y=(i+1)*(o-1)+a-1,_=(i+1)*(o-1)+a,b=(i+1)*o+a;s.push(v,y,b),s.push(y,_,b)}this.setIndex(s),this.addAttribute("position",new xt(h,3)),this.addAttribute("normal",new xt(c,3)),this.addAttribute("uv",new xt(u,2))}function tn(t,e){St.call(this),this.type="ExtrudeGeometry",this.parameters={shapes:t,options:e},this.fromBufferGeometry(new en(t,e)),this.mergeVertices()}function en(t,e){return"undefined"==typeof t?void(t=[]):(Mt.call(this),this.type="ExtrudeBufferGeometry",t=Array.isArray(t)?t:[t],this.addShapeList(t,e),void this.computeVertexNormals())}function nn(t,e){St.call(this),this.type="TextGeometry",this.parameters={text:t,parameters:e},this.fromBufferGeometry(new rn(t,e)),this.mergeVertices()}function rn(t,e){e=e||{};var n=e.font;if((n&&n.isFont)===!1)return console.error("THREE.TextGeometry: font parameter is not an instance of THREE.Font."),new St;var i=n.generateShapes(t,e.size,e.curveSegments);e.amount=void 0!==e.height?e.height:50,void 0===e.bevelThickness&&(e.bevelThickness=10),void 0===e.bevelSize&&(e.bevelSize=8),void 0===e.bevelEnabled&&(e.bevelEnabled=!1),en.call(this,i,e),this.type="TextBufferGeometry"}function on(t,e,n,i,r,o,a){St.call(this),this.type="SphereGeometry",this.parameters={radius:t,widthSegments:e,heightSegments:n,phiStart:i,phiLength:r,thetaStart:o,thetaLength:a},this.fromBufferGeometry(new an(t,e,n,i,r,o,a)),this.mergeVertices()}function an(t,e,n,i,r,o,a){Mt.call(this),this.type="SphereBufferGeometry",this.parameters={radius:t,widthSegments:e,heightSegments:n,phiStart:i,phiLength:r,thetaStart:o,thetaLength:a},t=t||50,e=Math.max(3,Math.floor(e)||8),n=Math.max(2,Math.floor(n)||6),i=void 0!==i?i:0,r=void 0!==r?r:2*Math.PI,o=void 0!==o?o:0,a=void 0!==a?a:Math.PI;var s,h,c=o+a,u=0,p=[],d=new l,f=new l,m=[],g=[],v=[],y=[];for(h=0;h<=n;h++){var _=[],b=h/n;for(s=0;s<=e;s++){var x=s/e;d.x=-t*Math.cos(i+x*r)*Math.sin(o+b*a),d.y=t*Math.cos(o+b*a),d.z=t*Math.sin(i+x*r)*Math.sin(o+b*a),g.push(d.x,d.y,d.z),f.set(d.x,d.y,d.z).normalize(),v.push(f.x,f.y,f.z),y.push(x,1-b),_.push(u++)}p.push(_)}for(h=0;h<n;h++)for(s=0;s<e;s++){var A=p[h][s+1],w=p[h][s],E=p[h+1][s],T=p[h+1][s+1];(0!==h||o>0)&&m.push(A,w,T),(h!==n-1||c<Math.PI)&&m.push(w,E,T)}this.setIndex(m),this.addAttribute("position",new xt(g,3)),this.addAttribute("normal",new xt(v,3)),this.addAttribute("uv",new xt(y,2))}function sn(t,e,n,i,r,o){St.call(this),this.type="RingGeometry",this.parameters={innerRadius:t,outerRadius:e,thetaSegments:n,phiSegments:i,thetaStart:r,thetaLength:o},this.fromBufferGeometry(new ln(t,e,n,i,r,o)),this.mergeVertices()}function ln(t,e,i,r,o,a){Mt.call(this),this.type="RingBufferGeometry",this.parameters={innerRadius:t,outerRadius:e,thetaSegments:i,phiSegments:r,thetaStart:o,thetaLength:a},t=t||20,e=e||50,o=void 0!==o?o:0,a=void 0!==a?a:2*Math.PI,i=void 0!==i?Math.max(3,i):8,r=void 0!==r?Math.max(1,r):1;var s,h,c,u=[],p=[],d=[],f=[],m=t,g=(e-t)/r,v=new l,y=new n;for(h=0;h<=r;h++){for(c=0;c<=i;c++)s=o+c/i*a,v.x=m*Math.cos(s),v.y=m*Math.sin(s),p.push(v.x,v.y,v.z),d.push(0,0,1),y.x=(v.x/e+1)/2,y.y=(v.y/e+1)/2,f.push(y.x,y.y);m+=g}for(h=0;h<r;h++){var _=h*(i+1);for(c=0;c<i;c++){s=c+_;var b=s,x=s+i+1,A=s+i+2,w=s+1;u.push(b,x,w),u.push(x,A,w)}}this.setIndex(u),this.addAttribute("position",new xt(p,3)),this.addAttribute("normal",new xt(d,3)),this.addAttribute("uv",new xt(f,2))}function hn(t,e,n,i){St.call(this),this.type="LatheGeometry",this.parameters={points:t,segments:e,phiStart:n,phiLength:i},this.fromBufferGeometry(new cn(t,e,n,i)),this.mergeVertices()}function cn(t,e,i,r){Mt.call(this),this.type="LatheBufferGeometry",this.parameters={points:t,segments:e,phiStart:i,phiLength:r},e=Math.floor(e)||12,i=i||0,r=r||2*Math.PI,r=xs.clamp(r,0,2*Math.PI);var o,a,s,h=[],c=[],u=[],p=1/e,d=new l,f=new n;for(a=0;a<=e;a++){var m=i+a*p*r,g=Math.sin(m),v=Math.cos(m);for(s=0;s<=t.length-1;s++)d.x=t[s].x*g,d.y=t[s].y,d.z=t[s].x*v,c.push(d.x,d.y,d.z),f.x=a/e,f.y=s/(t.length-1),u.push(f.x,f.y)}for(a=0;a<e;a++)for(s=0;s<t.length-1;s++){o=s+a*t.length;var y=o,_=o+t.length,b=o+t.length+1,x=o+1;h.push(y,_,x),h.push(_,b,x)}if(this.setIndex(h),this.addAttribute("position",new xt(c,3)),this.addAttribute("uv",new xt(u,2)),this.computeVertexNormals(),r===2*Math.PI){var A=this.attributes.normal.array,w=new l,E=new l,T=new l;for(o=e*t.length*3,a=0,s=0;a<t.length;a++,s+=3)w.x=A[s+0],w.y=A[s+1],w.z=A[s+2],E.x=A[o+s+0],E.y=A[o+s+1],E.z=A[o+s+2],T.addVectors(w,E).normalize(),A[s+0]=A[o+s+0]=T.x,A[s+1]=A[o+s+1]=T.y,A[s+2]=A[o+s+2]=T.z}}function un(t,e){St.call(this),this.type="ShapeGeometry","object"==typeof e&&(console.warn("THREE.ShapeGeometry: Options parameter has been removed."),e=e.curveSegments),this.parameters={shapes:t,curveSegments:e},this.fromBufferGeometry(new pn(t,e)),this.mergeVertices()}function pn(t,e){function n(t){var n,s,h,c=r.length/3,u=t.extractPoints(e),p=u.shape,d=u.holes;if(Hh.isClockWise(p)===!1)for(p=p.reverse(),n=0,s=d.length;n<s;n++)h=d[n],Hh.isClockWise(h)===!0&&(d[n]=h.reverse());var f=Hh.triangulateShape(p,d);for(n=0,s=d.length;n<s;n++)h=d[n],p=p.concat(h);for(n=0,s=p.length;n<s;n++){var m=p[n];r.push(m.x,m.y,0),o.push(0,0,1),a.push(m.x,m.y)}for(n=0,s=f.length;n<s;n++){var g=f[n],v=g[0]+c,y=g[1]+c,_=g[2]+c;i.push(v,y,_),l+=3}}Mt.call(this),this.type="ShapeBufferGeometry",this.parameters={shapes:t,curveSegments:e},e=e||12;var i=[],r=[],o=[],a=[],s=0,l=0;if(Array.isArray(t)===!1)n(t);else for(var h=0;h<t.length;h++)n(t[h]),this.addGroup(s,l,h),s+=l,l=0;this.setIndex(i),this.addAttribute("position",new xt(r,3)),this.addAttribute("normal",new xt(o,3)),this.addAttribute("uv",new xt(a,2))}function dn(t,e){Mt.call(this),this.type="EdgesGeometry",this.parameters={thresholdAngle:e},e=void 0!==e?e:1;var n,i,r,o,a=[],s=Math.cos(xs.DEG2RAD*e),l=[0,0],h={},c=["a","b","c"];t.isBufferGeometry?(o=new St,o.fromBufferGeometry(t)):o=t.clone(),o.mergeVertices(),o.computeFaceNormals();for(var u=o.vertices,p=o.faces,d=0,f=p.length;d<f;d++)for(var m=p[d],g=0;g<3;g++)n=m[c[g]],i=m[c[(g+1)%3]],l[0]=Math.min(n,i),l[1]=Math.max(n,i),r=l[0]+","+l[1],void 0===h[r]?h[r]={index1:l[0],index2:l[1],face1:d,face2:void 0}:h[r].face2=d;for(r in h){var v=h[r];if(void 0===v.face2||p[v.face1].normal.dot(p[v.face2].normal)<=s){var y=u[v.index1];a.push(y.x,y.y,y.z),y=u[v.index2],a.push(y.x,y.y,y.z)}}this.addAttribute("position",new xt(a,3))}function fn(t,e,n,i,r,o,a,s){St.call(this),this.type="CylinderGeometry",this.parameters={radiu
13sTop:t,radiusBottom:e,height:n,radialSegments:i,heightSegments:r,openEnded:o,thetaStart:a,thetaLength:s},this.fromBufferGeometry(new mn(t,e,n,i,r,o,a,s)),this.mergeVertices()}function mn(t,e,i,r,o,a,s,h){function c(){var n,a,c=new l,u=new l,x=0,A=(e-t)/i;for(a=0;a<=o;a++){var w=[],E=a/o,T=E*(e-t)+t;for(n=0;n<=r;n++){var S=n/r,M=S*h+s,C=Math.sin(M),P=Math.cos(M);u.x=T*C,u.y=-E*i+_,u.z=T*P,f.push(u.x,u.y,u.z),c.set(C,A,P).normalize(),m.push(c.x,c.y,c.z),g.push(S,1-E),w.push(v++)}y.push(w)}for(n=0;n<r;n++)for(a=0;a<o;a++){var L=y[a][n],R=y[a+1][n],N=y[a+1][n+1],O=y[a][n+1];d.push(L,R,O),d.push(R,N,O),x+=6}p.addGroup(b,x,0),b+=x}function u(i){var o,a,c,u=new n,y=new l,x=0,A=i===!0?t:e,w=i===!0?1:-1;for(a=v,o=1;o<=r;o++)f.push(0,_*w,0),m.push(0,w,0),g.push(.5,.5),v++;for(c=v,o=0;o<=r;o++){var E=o/r,T=E*h+s,S=Math.cos(T),M=Math.sin(T);y.x=A*M,y.y=_*w,y.z=A*S,f.push(y.x,y.y,y.z),m.push(0,w,0),u.x=.5*S+.5,u.y=.5*M*w+.5,g.push(u.x,u.y),v++}for(o=0;o<r;o++){var C=a+o,P=c+o;i===!0?d.push(P,P+1,C):d.push(P+1,P,C),x+=3}p.addGroup(b,x,i===!0?1:2),b+=x}Mt.call(this),this.type="CylinderBufferGeometry",this.parameters={radiusTop:t,radiusBottom:e,height:i,radialSegments:r,heightSegments:o,openEnded:a,thetaStart:s,thetaLength:h};var p=this;t=void 0!==t?t:20,e=void 0!==e?e:20,i=void 0!==i?i:100,r=Math.floor(r)||8,o=Math.floor(o)||1,a=void 0!==a&&a,s=void 0!==s?s:0,h=void 0!==h?h:2*Math.PI;var d=[],f=[],m=[],g=[],v=0,y=[],_=i/2,b=0;c(),a===!1&&(t>0&&u(!0),e>0&&u(!1)),this.setIndex(d),this.addAttribute("position",new xt(f,3)),this.addAttribute("normal",new xt(m,3)),this.addAttribute("uv",new xt(g,2))}function gn(t,e,n,i,r,o,a){fn.call(this,0,t,e,n,i,r,o,a),this.type="C
13oneGeometry",this.parameters={radius:t,height:e,radialSegments:n,heightSegments:i,openEnded:r,thetaStart:o,thetaLength:a}}function vn(t,e,n,i,r,o,a){mn.call(this,0,t,e,n,i,r,o,a),this.type="ConeBufferGeometry",this.parameters={radius:t,height:e,radialSegments:n,heightSegments:i,openEnded:r,thetaStart:o,thetaLength:a}}function yn(t,e,n,i){St.call(this),this.type="CircleGeometry",this.parameters={radius:t,segments:e,thetaStart:n,thetaLength:i},this.fromBufferGeometry(new _n(t,e,n,i)),this.mergeVertices()}function _n(t,e,i,r){Mt.call(this),this.type="CircleBufferGeometry",this.parameters={radius:t,segments:e,thetaStart:i,thetaLength:r},t=t||50,e=void 0!==e?Math.max(3,e):8,i=void 0!==i?i:0,r=void 0!==r?r:2*Math.PI;var o,a,s=[],h=[],c=[],u=[],p=new l,d=new n;for(h.push(0,0,0),c.push(0,0,1),u.push(.5,.5),a=0,o=3;a<=e;a++,o+=3){var f=i+a/e*r;p.x=t*Math.cos(f),p.y=t*Math.sin(f),h.push(p.x,p.y,p.z),c.push(0,0,1),d.x=(h[o]/t+1)/2,d.y=(h[o+1]/t+1)/2,u.push(d.x,d.y)}for(o=1;o<=e;o++)s.push(o,o+1,0);this.setIndex(s),this.addAttribute("position",new xt(h,3)),this.addAttribute("normal",new xt(c,3)),this.addAttribute("uv",new xt(u,2))}function bn(t){Q.call(this,{uniforms:Ns.merge([Rs.lights,{opacity:{value:1}}]),vertexShader:Dh.shadow_vert,fragmentShader:Dh.shadow_frag}),this.lights=!0,this.transparent=!0,Object.defineProperties(this,{opacity:{enumerable:!0,get:function(){return this.uniforms.opacity.value},set:function(t){this.uniforms.opacity.value=t}}}),this.setValues(t)}function xn(t){Q.call(this,t),this.type="RawShaderMaterial"}function An(t){q.call(this),this.defines={STANDARD:""},this.type="MeshStandardMaterial",this.color=new W(16777215),this.roughness=.5,this.metalness=.5,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new W(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalScale=new n(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.roughnessMap=null,this.metalnessMap=null,this.alphaMap=null,this.envMap=null,this.envMapIntensity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.skinning=!1,this.morphTargets=!1,this.morphNormals=!1,this.setValues(t)}function wn(t){An.call(this),this.defines={PHYSICAL:""},this.type="MeshPhysicalMaterial",this.reflectivity=.5,this.clearCoat=0,this.clearCoatRoughness=0,this.setValues(t)}function En(t){q.call(this),this.type="MeshPhongMaterial",this.color=new W(16777215),this.specular=new W(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new W(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalScale=new n(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=$o,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.skinning=!1,this.morphTargets=!1,this.morphNormals=!1,this.setValues(t)}function Tn(t){En.call(this),this.defines={TOON:""},this.type="MeshToonMaterial",this.gradientMap=null,this.setValues(t)}function Sn(t){q.call(this,t),this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalScale=new n(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.lights=!1,this.skinning=!1,this.morphTargets=!1,this.morphNormals=!1,this.setValues(t)}function Mn(t){q.call(this),this.type="MeshLambertMaterial",this.color=new W(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new W(0),this.emissiveIntensity=1,this.emissiveMap=null,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=$o,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.skinning=!1,this.morphTargets=!1,this.morphNormals=!1,this.setValues(t)}function Cn(t){q.call(this),this.type="LineDashedMaterial",this.color=new W(16777215),this.linewidth=1,this.scale=1,this.dashSize=3,this.gapSize=1,this.lights=!1,this.setValues(t)}function Pn(t,e,n){var i=this,r=!1,o=0,a=0;this.onStart=void 0,this.onLoad=t,this.onProgress=e,this.onError=n,this.itemStart=function(t){a++,r===!1&&void 0!==i.onStart&&i.onStart(t,o,a),r=!0},this.itemEnd=function(t){o++,void 0!==i.onProgress&&i.onProgress(t,o,a),o===a&&(r=!1,void 0!==i.onLoad&&i.onLoad())},this.itemError=function(t){void 0!==i.onError&&i.onError(t)}}function Ln(t){this.manager=void 0!==t?t:Xh}function Rn(t){this.manager=void 0!==t?t:Xh,this._parser=null}function Nn(t){this.manager=void 0!==t?t:Xh,this._parser=null}function On(t){this.manager=void 0!==t?t:Xh}function In(t){this.manager=void 0!==t?t:Xh}function Dn(t){this.manager=void 0!==t?t:Xh}function Bn(t,e){lt.call(this),this.type="Light",this.color=new W(t),this.intensity=void 0!==e?e:1,this.receiveShadow=void 0}function Un(t,e,n){Bn.call(this,t,n),this.type="HemisphereLight",this.castShadow=void 0,this.position.copy(lt.DefaultUp),this.updateMatrix(),this.groundColor=new W(e)}function Vn(t){this.camera=t,this.bias=0,this.radius=1,this.mapSize=new n(512,512),this.map=null,this.matrix=new h}function Gn(){Vn.call(this,new It(50,1,.5,500))}function kn(t,e,n,i,r,o){Bn.call(this,t,e),this.type="SpotLight",this.position.copy(lt.DefaultUp),this.updateMatrix(),this.target=new lt,Object.defineProperty(this,"power",{get:function(){return this.intensity*Math.PI},set:function(t){this.intensity=t/Math.PI}}),this.distance=void 0!==n?n:0,this.angle=void 0!==i?i:Math.PI/3,this.penumbra=void 0!==r?r:0,this.decay=void 0!==o?o:1,this.shadow=new Gn}function Hn(t,e,n,i){Bn.call(this,t,e),this.type="PointLight",Object.defineProperty(this,"power",{get:function(){return 4*this.intensity*Math.PI},set:function(t){this.intensity=t/(4*Math.PI)}}),this.distance=void 0!==n?n:0,this.decay=void 0!==i?i:1,this.shadow=new Vn(new It(90,1,.5,500))}function Fn(){Vn.call(this,new Dt((-5),5,5,(-5),.5,500))}function zn(t,e){Bn.call(this,t,e),this.type="DirectionalLight",this.position.copy(lt.DefaultUp),this.updateMatrix(),this.target=new lt,this.shadow=new Fn}function jn(t,e){Bn.call(this,t,e),this.type="AmbientLight",this.castShadow=void 0}function Xn(t,e,n,i){Bn.call(this,t,e),this.type="RectAreaLight",this.position.set(0,1,0),this.updateMatrix(),this.width=void 0!==n?n:10,this.height=void 0!==i?i:10}function Wn(t,e,n,i){this.parameterPositions=t,this._cachedIndex=0,this.resultBuffer=void 0!==i?i:new e.constructor(n),this.sampleValues=e,this.valueSize=n}function Yn(t,e,n,i){Wn.call(this,t,e,n,i),this._weightPrev=-0,this._offsetPrev=-0,this._weightNext=-0,this._offsetNext=-0}function Kn(t,e,n,i){Wn.call(this,t,e,n,i)}function Zn(t,e,n,i){Wn.call(this,t,e,n,i)}function qn(t,e,n,i){if(void 0===t)throw new Error("track name is undefined");if(void 0===e||0===e.length)throw new Error("no keyframes in track named "+t);this.name=t,this.times=Wh.convertArray(e,this.TimeBufferType),this.values=Wh.convertArray(n,this.ValueBufferType),this.setInterpolation(i||this.DefaultInterpolation),this.validate(),this.optimize()}function Qn(t,e,n,i){qn.call(this,t,e,n,i)}function Jn(t,e,n,i){Wn.call(this,t,e,n,i)}function $n(t,e,n,i){qn.call(this,t,e,n,i)}function ti(t,e,n,i){qn.call(this,t,e,n,i)}function ei(t,e,n,i){qn.call(this,t,e,n,i)}function ni(t,e,n){qn.call(this,t,e,n)}function ii(t,e,n,i){qn.call(this,t,e,n,i)}function ri(t,e,n,i){qn.apply(this,arguments)}function oi(t,e,n){this.name=t,this.tracks=n,this.duration=void 0!==e?e:-1,this.uuid=xs.generateUUID(),this.duration<0&&this.resetDuration(),this.optimize()}function ai(t){this.manager=void 0!==t?t:Xh,this.textures={}}function si(t){this.manager=void 0!==t?t:Xh}function li(){this.onLoadStart=function(){},this.onLoadProgress=function(){},this.onLoadComplete=function(){}}function hi(t){"boolean"==typeof t&&(console.warn("THREE.JSONLoader: showStatus parameter has been removed from constructor."),t=void 0),this.manager=void 0!==t?t:Xh,this.withCredentials=!1}function ci(t){this.manager=void 0!==t?t:Xh,this.texturePath=""}function ui(t,e,n,i,r){ 14var o=.5*(i-e),a=.5*(r-n),s=t*t,l=t*s;return(2*n-2*i+o+a)*l+(-3*n+3*i-2*o-a)*s+o*t+n}function pi(t,e){var n=1-t;return n*n*e}function di(t,e){return 2*(1-t)*t*e}function fi(t,e){return t*t*e}function mi(t,e,n,i){return pi(t,e)+di(t,n)+fi(t,i)}function gi(t,e){var n=1-t;return n*n*n*e}function vi(t,e){var n=1-t;return 3*n*n*t*e}function yi(t,e){return 3*(1-t)*t*t*e}function _i(t,e){return t*t*t*e}function bi(t,e,n,i,r){return gi(t,e)+vi(t,n)+yi(t,i)+_i(t,r)}function xi(){this.arcLengthDivisions=200}function Ai(t,e){xi.call(this),this.v1=t,this.v2=e}function wi(){xi.call(this),this.curves=[],this.autoClose=!1}function Ei(t,e,n,i,r,o,a,s){xi.call(this),this.aX=t,this.aY=e,this.xRadius=n,this.yRadius=i,this.aStartAngle=r,this.aEndAngle=o,this.aClockwise=a,this.aRotation=s||0}function Ti(t){xi.call(this),this.points=void 0===t?[]:t}function Si(t,e,n,i){xi.call(this),this.v0=t,this.v1=e,this.v2=n,this.v3=i}function Mi(t,e,n){xi.call(this),this.v0=t,this.v1=e,this.v2=n}function Ci(t){wi.call(this),this.currentPoint=new n,t&&this.fromPoints(t)}function Pi(){Ci.apply(this,arguments),this.holes=[]}function Li(){this.subPaths=[],this.currentPath=null}function Ri(t){this.data=t}function Ni(t){this.manager=void 0!==t?t:Xh}function Oi(t){this.manager=void 0!==t?t:Xh}function Ii(){this.type="StereoCamera",this.aspect=1,this.eyeSep=.064,this.cameraL=new It,this.cameraL.layers.enable(1),this.cameraL.matrixAutoUpdate=!1,this.cameraR=new It,this.cameraR.layers.enable(2),this.cameraR.matrixAutoUpdate=!1}function Di(t,e,n){lt.call(this),this.type="CubeCamera";var i=90,r=1,o=new It(i,r,t,e);o.up.set(0,-1,0),o.lookAt(new l(1,0,0)),this.add(o);var s=new It(i,r,t,e);s.up.set(0,-1,0),s.lookAt(new l((-1),0,0)),this.add(s);var h=new It(i,r,t,e);h.up.set(0,0,1),h.lookAt(new l(0,1,0)),this.add(h);var c=new It(i,r,t,e);c.up.set(0,0,-1),c.lookAt(new l(0,(-1),0)),this.add(c);var u=new It(i,r,t,e);u.up.set(0,-1,0),u.lookAt(new l(0,0,1)),this.add(u);var p=new It(i,r,t,e);p.up.set(0,-1,0),p.lookAt(new l(0,0,(-1))),this.add(p);var d={format:Ua,magFilter:xa,minFilter:xa};this.renderTarget=new a(n,n,d),this.renderTarget.texture.name="CubeCamera",this.updateCubeMap=function(t,e){null===this.parent&&this.updateMatrixWorld();var n=this.renderTarget,i=n.texture.generateMipmaps;n.texture.generateMipmaps=!1,n.activeCubeFace=0,t.render(e,o,n),n.activeCubeFace=1,t.render(e,s,n),n.activeCubeFace=2,t.render(e,h,n),n.activeCubeFace=3,t.render(e,c,n),n.activeCubeFace=4,t.render(e,u,n),n.texture.generateMipmaps=i,n.activeCubeFace=5,t.render(e,p,n),t.setRenderTarget(null)}}function Bi(t){It.call(this),this.enabled=!1,this.cameras=t||[]}function Ui(){lt.call(this),this.type="AudioListener",this.context=tc.getContext(),this.gain=this.context.createGain(),this.gain.connect(this.context.destination),this.filter=null}function Vi(t){lt.call(this),this.type="Audio",this.context=t.context,this.gain=this.context.createGain(),this.gain.connect(t.getIn
14put()),this.autoplay=!1,this.buffer=null,this.loop=!1,this.startTime=0,this.playbackRate=1,this.isPlaying=!1,this.hasPlaybackControl=!0,this.sourceType="empty",this.filters=[]}function Gi(t){Vi.call(this,t),this.panner=this.context.createPanner(),this.panner.connect(this.gain)}function ki(t,e){this.analyser=t.context.createAnalyser(),this.analyser.fftSize=void 0!==e?e:2048,this.data=new Uint8Array(this.analyser.frequencyBinCount),t.getOutput().connect(this.analyser)}function Hi(t,e,n){this.binding=t,this.valueSize=n;var i,r=Float64Array;switch(e){case"quaternion":i=this._slerp;break;case"string":case"bool":r=Array,i=this._select;break;default:i=this._lerp}this.buffer=new r(4*n),this._mixBufferRegion=i,this.cumulativeWeight=0,this.useCount=0,this.referenceCount=0}function Fi(t,e,n){var i=n||zi.parseTrackName(e);this._targetGroup=t,this._bindings=t.subscribe_(e,i)}function zi(t,e,n){this.path=e,this.parsedPath=n||zi.parseTrackName(e),this.node=zi.findNode(t,this.parsedPath.nodeName)||t,this.rootNode=t}function ji(t){this.uuid=xs.generateUUID(),this._objects=Array.prototype.slice.call(arguments),this.nCachedObjects_=0;var e={};this._indicesByUUID=e;for(var n=0,i=arguments.length;n!==i;++n)e[arguments[n].uuid]=n;this._paths=[],this._parsedPaths=[],this._bindings=[],this._bindingsIndicesByPath={};var r=this;this.stats={objects:{get total(){return r._objects.length},get inUse(){return this.total-r.nCachedObjects_}},get bindingsPerObject(){return r._bindings.length}}}function Xi(t,e,n){this._mixer=t,this._clip=e,this._localRoot=n||null;for(var i=e.tracks,r=i.length,o=new Array(r),a={endingStart:os,endingEnd:os},s=0;s!==r;++s){var l=i[s].createInterpolant(null);o[s]=l,l.settings=a}this._interpolantSettings=a,this._interpolants=o,this._propertyBindings=new Array(r),this._cacheIndex=null,this._byClipCacheIndex=null,this._timeScaleInterpolant=null,this._weightInterpolant=null,this.loop=ts,this._loopCount=-1,this._startTime=null,this.time=0,this.timeScale=1,this._effectiveTimeScale=1,this.weight=1,this._effectiveWeight=1,this.repetitions=1/0,this.paused=!1,this.enabled=!0,this.clampWhenFinished=!1,this.zeroSlopeAtStart=!0,this.zeroSlopeAtEnd=!0}function Wi(t){this._root=t,this._initMemoryManager(),this._accuIndex=0,this.time=0,this.timeScale=1}function Yi(t){"string"==typeof t&&(console.warn("THREE.Uniform: Type parameter is no longer needed."),t=arguments[1]),this.value=t}function Ki(){Mt.call(this),this.type="InstancedBufferGeometry",this.maxInstancedCount=void 0}function Zi(t,e,n,i){this.uuid=xs.generateUUID(),this.data=t,this.itemSize=e,this.offset=n,this.normalized=i===!0}function qi(t,e){this.uuid=xs.generateUUID(),this.array=t,this.stride=e,this.count=void 0!==t?t.length/e:0,this.dynamic=!1,this.updateRange={offset:0,count:-1},this.onUploadCallback=function(){},this.version=0}function Qi(t,e,n){qi.call(this,t,e),this.meshPerAttribute=n||1}function Ji(t,e,n){dt.call(this,t,e),this.meshPerAttribute=n||1}function $i(t,e,n,i){this.ray=new ot(t,e),this.near=n||0,this.far=i||1/0,this.params={Mesh:{},Line:{},LOD:{},Points:{threshold:1},Sprite:{}},Object.defineProperties(this.params,{PointCloud:{get:function(){return console.warn("THREE.Raycaster: params.PointCloud has been renamed to params.Points."),this.Points}}})}function tr(t,e){return t.distance-e.distance}function er(t,e,n,i){if(t.visible!==!1&&(t.raycast(e,n),i===!0))for(var r=t.children,o=0,a=r.length;o<a;o++)er(r[o],e,n,!0)}function nr(t){this.autoStart=void 0===t||t,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}function ir(t,e,n){return this.radius=void 0!==t?t:1,this.phi=void 0!==e?e:0,this.theta=void 0!==n?n:0,this}function rr(t,e,n){return this.radius=void 0!==t?t:1,this.theta=void 0!==e?e:0,this.y=void 0!==n?n:0,this}function or(t,e){Ct.call(this,t,e),this.animationsMap={},this.animationsList=[];var n=this.geometry.morphTargets.length,i="__default",r=0,o=n-1,a=n/1;this.createAnimation(i,r,o,a),this.setAnimationWeight(i,1)}function ar(t){lt.call(this),this.material=t,this.render=function(t){}}function sr(t,e,n,i){this.object=t,this.size=void 0!==e?e:1;var r=void 0!==n?n:16711680,o=void 0!==i?i:1,a=0,s=this.object.geometry;s&&s.isGeometry?a=3*s.faces.length:s&&s.isBufferGeometry&&(a=s.attributes.normal.count);var l=new Mt,h=new xt(2*a*3,3);l.addAttribute("position",h),Se.call(this,l,new Ee({color:r,linewidth:o})),this.matrixAutoUpdate=!1,this.update()}function lr(t){lt.call(this),this.light=t,this.light.updateMatrixWorld(),this.matrix=t.matrixWorld,this.matrixAutoUpdate=!1;for(var e=new Mt,n=[0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,-1,0,1,0,0,0,0,1,1,0,0,0,0,-1,1],i=0,r=1,o=32;i<o;i++,r++){var a=i/o*Math.PI*2,s=r/o*Math.PI*2;n.push(Math.cos(a),Math.sin(a),1,Math.cos(s),Math.sin(s),1)}e.addAttribute("position",new xt(n,3));var l=new Ee({fog:!1});this.cone=new Se(e,l),this.add(this.cone),this.update()}function hr(t){this.bones=this.getBoneList(t);for(var e=new Mt,n=[],i=[],r=new W(0,0,1),o=new W(0,1,0),a=0;a<this.bones.length;a++){var s=this.bones[a];s.parent&&s.parent.isBone&&(n.push(0,0,0),n.push(0,0,0),i.push(r.r,r.g,r.b),i.push(o.r,o.g,o.b))}e.addAttribute("position",new xt(n,3)),e.addAttribute("color",new xt(i,3));var l=new Ee({vertexColors:Ao,depthTest:!1,depthWrite:!1,transparent:!0});Se.call(this,e,l),this.root=t,this.matrix=t.matrixWorld,this.matrixAutoUpdate=!1,this.update()}function cr(t,e){this.light=t,this.light.updateMatrixWorld();var n=new an(e,4,2),i=new pt({wireframe:!0,fog:!1});i.color.copy(this.light.color),Ct.call(this,n,i),this.matrix=this.light.matrixWorld,this.matrixAutoUpdate=!1}function ur(t){lt.call(this),this.light=t,this.light.updateMatrixWorld(),this.matrix=t.matrixWorld,this.matrixAutoUpdate=!1;var e=new Ee({color:t.color}),n=new Mt;n.addAttribute("position",new dt(new Float32Array(15),3)),this.add(new Te(n,e)),this.update()}function pr(t,e){lt.call(this),this.light=t,this.light.updateMatrixWorld(),this.matrix=t.matrixWorld,this.matrixAutoUpdate=!1;var n=new ze(e);n.rotateY(.5*Math.PI);var i=new pt({vertexColors:Ao,wireframe:!0}),r=n.getAttribute("position"),o=new Float32Array(3*r.count);n.addAttribute("color",new dt(o,3)),this.add(new Ct(n,i)),this.update()}function dr(t,e,n,i){t=t||10,e=e||10,n=new W(void 0!==n?n:4473924),i=new W(void 0!==i?i:8947848);for(var r=e/2,o=t/e,a=t/2,s=[],l=[],h=0,c=0,u=-a;h<=e;h++,u+=o){s.push(-a,0,u,a,0,u),s.push(u,0,-a,u,0,a);var p=h===r?n:i;p.toArray(l,c),c+=3,p.toArray(l,c),c+=3,p.toArray(l,c),c+=3,p.toArray(l,c),c+=3}var d=new Mt;d.addAttribute("position",new xt(s,3)),d.addAttribute("color",new xt(l,3));var f=new Ee({vertexColors:Ao});Se.call(this,d,f)}function fr(t,e,n,i,r,o){t=t||10,e=e||16,n=n||8,i=i||64,r=new W(void 0!==r?r:4473924),o=new W(void 0!==o?o:8947848);var a,s,l,h,c,u,p,d=[],f=[];for(h=0;h<=e;h++)l=h/e*(2*Math.PI),a=Math.sin(l)*t,s=Math.cos(l)*t,d.push(0,0,0),d.push(a,0,s),p=1&h?r:o,f.pu
14sh(p.r,p.g,p.b),f.push(p.r,p.g,p.b);for(h=0;h<=n;h++)for(p=1&h?r:o,u=t-t/n*h,c=0;c<i;c++)l=c/i*(2*Math.PI),a=Math.sin(l)*u,s=Math.cos(l)*u,d.push(a,0,s),f.push(p.r,p.g,p.b),l=(c+1)/i*(2*Math.PI),a=Math.sin(l)*u,s=Math.cos(l)*u,d.push(a,0,s),f.push(p.r,p.g,p.b);var m=new Mt;m.addAttribute("position",new xt(d,3)),m.addAttribute("color",new xt(f,3));var g=new Ee({vertexColors:Ao});Se.call(this,m,g)}function mr(t,e,n,i){this.object=t,this.size=void 0!==e?e:1;var r=void 0!==n?n:16776960,o=void 0!==i?i:1,a=0,s=this.object.geometry;s&&s.isGeometry?a=s.faces.length:console.warn("THREE.FaceNormalsHelper: only THREE.Geometry is supported. Use THREE.VertexNormalsHelper, instead.");var l=new Mt,h=new xt(2*a*3,3);l.addAttribute("position",h),Se.call(this,l,new Ee({color:r,linewidth:o})),this.matrixAutoUpdate=!1,this.update()}function gr(t,e){lt.call(this),this.light=t,this.light.updateMatrixWorld(),this.matrix=t.matrixWorld,this.matrixAutoUpdate=!1,void 0===e&&(e=1);var n=new Mt;n.addAttribute("position",new xt([-e,e,0,e,e,0,e,-e,0,-e,-e,0,-e,e,0],3));var i=new Ee({fog:!1});this.add(new Te(n,i)),n=new Mt,n.addAttribute("position",new xt([0,0,0,0,0,1],3)),this.add(new Te(n,i)),this.update()}function vr(t){function e(t,e,i){n(t,i),n(e,i)}function n(t,e){o.push(0,0,0),a.push(e.r,e.g,e.b),void 0===s[t]&&(s[t]=[]),s[t].push(o.length/3-1)}var i=new Mt,r=new Ee({color:16777215,vertexColors:xo}),o=[],a=[],s={},l=new W(16755200),h=new W(16711680),c=new W(43775),u=new W(16777215),p=new W(3355443);e("n1","n2",l),e("n2","n4",l),e("n4","n3",l),e("n3","n1",l),e("f1","f2",l),e("f2","f4",l),e("f4","f3",l),e("f3","f1",l),e("n1","f1",l),e("n2","f2",l),e("n3","f3",l),e("n4","f4",l),e("p","n1",h),e("p","n2",h),e("p","n3",h),e("p","n4",h),e("u1","u2",c),e("u2","u3",c),e("u3","u1",c),e("c","t",u),e("p","c",p),e("cn1","cn2",p),e("cn3","cn4",p),e("cf1","cf2",p),e("cf3","cf4",p),i.addAttribute("position",new xt(o,3)),i.addAttribute("color",new xt(a,3)),Se.call(this,i,r),this.camera=t,this.camera.updateProjectionMatrix&&this.camera.updateProjectionMatrix(),this.matrix=t.matrixWorld,this.matrixAutoUpdate=!1,this.pointMap=s,this.update()}function yr(t,e){this.object=t,void 0===e&&(e=16776960);var n=new Uint16Array([0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,4,0,4,1,5,2,6,3,7]),i=new Float32Array(24),r=new Mt;r.setIndex(new dt(n,1)),r.addAttribute("position",new dt(i,3)),Se.call(this,r,new Ee({color:e})),this.matrixAutoUpdate=!1,this.update()}function _r(t,e,n,i,r,o){lt.call(this),void 0===i&&(i=16776960),void 0===n&&(n=1),void 0===r&&(r=.2*n),void 0===o&&(o=.2*r),void 0===ec&&(ec=new Mt,ec.addAttribute("position",new xt([0,0,0,0,1,0],3)),nc=new mn(0,.5,1,5,1),nc.translate(0,-.5,0)),this.position.copy(e),this.line=new Te(ec,new Ee({color:i})),this.line.matrixAutoUpdate=!1,this.add(this.line),this.cone=new Ct(nc,new pt({color:i})),this.cone.matrixAutoUpdate=!1,this.add(this.cone),this.setDirection(t),this.setLength(n,r,o)}function br(t){t=t||1;var e=[0,0,0,t,0,0,0,0,0,0,t,0,0,0,0,0,0,t],n=[1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1],i=new Mt;i.addAttribute("position",new xt(e,3)),i.addAttribute("color",new xt(n,3));var r=new Ee({vertexColors:Ao});Se.call(this,i,r)}function xr(){function t(t,o,a,s){e=t,n=a,i=-3*t+3*o-2*a-s,r=2*t-2*o+a+s}var e=0,n=0,i=0,r=0;return{initCatmullRom:function(e,n,i,r,o){t(n,i,o*(i-e),o*(r-n))},initNonuniformCatmullRom:function(e,n,i,r,o,a,s){var l=(n-e)/o-(i-e)/(o+a)+(i-n)/a,h=(i-n)/a-(r-n)/(a+s)+(r-i)/s;l*=a,h*=a,t(n,i,l,h)},calc:function(t){var o=t*t,a=o*t;return e+n*t+i*o+r*a}}}function Ar(t){xi.call(this),this.points=t||[],this.closed=!1}function wr(t,e,n,i){xi.call(this),this.v0=t,this.v1=e,this.v2=n,this.v3=i}function Er(t,e,n){xi.call(this),this.v0=t,this.v1=e,this.v2=n}function Tr(t,e){xi.call(this),this.v1=t,this.v2=e}function Sr(t,e,n,i,r,o){Ei.call(this,t,e,n,n,i,r,o)}function Mr(t,e,n,i,r,o,a){return console.warn("THREE.Face4 has been removed. A THREE.Face3 will be created instead."),new ut(t,e,n,r,o,a)}function Cr(t){return console.warn("THREE.MeshFaceMaterial has been removed. Use an Array instead."),t}function Pr(t){return void 0===t&&(t=[]),console.warn("THREE.MultiMaterial has been removed. Use an Array instead."),t.isMultiMaterial=!0,t.materials=t,t.clone=function(){return t.slice()},t}function Lr(t,e){return console.warn("THREE.PointCloud has been renamed to THREE.Points."),new Pe(t,e)}function Rr(t){return console.warn("THREE.Particle has been renamed to THREE.Sprite."),new _e(t)}function Nr(t,e){return console.warn("THREE.ParticleSystem has been renamed to THREE.Points."),new Pe(t,e)}function Or(t){return console.warn("THREE.PointCloudMaterial has been renamed to THREE.PointsMaterial."),new Ce(t)}function Ir(t){return console.warn("THREE.ParticleBasicMaterial has been renamed to THREE.PointsMaterial."),new Ce(t)}function Dr(t){return console.warn("THREE.ParticleSystemMaterial has been renamed to THREE.PointsMaterial."),new Ce(t)}function Br(t,e,n){return console.warn("THREE.Vertex has been removed. Use THREE.Vector3 instead."),new l(t,e,n)}function Ur(t,e){return console.warn("THREE.DynamicBufferAttribute has been removed. Use new THREE.BufferAttribute().setDynamic( true ) instead."),new dt(t,e).setDynamic(!0)}function Vr(t,e){return console.warn("THREE.Int8Attribute has been removed. Use new THREE.Int8BufferAttribute() instead."),new ft(t,e)}function Gr(t,e){return console.warn("THREE.Uint8Attribute has been removed. Use new THREE.Uint8BufferAttribute() instead."),new mt(t,e)}function kr(t,e){return console.warn("THREE.Uint8ClampedAttribute has been removed. Use new THREE.Uint8ClampedBufferAttribute() instead."),new gt(t,e)}function Hr(t,e){return console.warn("THREE.Int16Attribute has been removed. Use new THREE.Int16BufferAttribute() instead."),new vt(t,e)}function Fr(t,e){return console.warn("THREE.Uint16Attribute has been removed. Use new THREE.Uint16BufferAttribute() instead."),new yt(t,e)}function zr(t,e){return console.warn("THREE.Int32Attribute has been removed. Use new THREE.Int32BufferAttribute() instead."),new _t(t,e)}function jr(t,e){return console.warn("THREE.Uint32Attribute has been removed. Use new THREE.Uint32BufferAttribute() instead."),new bt(t,e)}function Xr(t,e){return console.warn("THREE.Float32Attribute has been removed. Use new THREE.Float32BufferAttribute() instead."),new xt(t,e)}function Wr(t,e){return console.warn("THREE.Float64Attribute has been removed. Use new THREE.Float64BufferAttribute() instead."),new At(t,e)}function Yr(t){console.warn("THREE.ClosedSplineCurve3 has been deprecated. Use THREE.CatmullRomCurve3 instead."),Ar.call(this,t),this.type="catmullrom",this.closed=!0}function Kr(t){console.warn("THREE.SplineCurve3 has been deprecated. Use THREE.CatmullRomCurve3 instead."),Ar.call(this,t),this.type="catmullrom"}function Zr(t){console.warn("THREE.Spline has been removed. Use THREE.CatmullRomCurve3 instead."),Ar.call(this,t),this.type="catmullrom"}function qr(t,e){return console.warn("THREE.BoundingBoxHelper has been deprecated. Creating a THREE.BoxHelper instead."),new yr(t,e)}function Qr(t,e){return console.warn("THREE.EdgesHelper has been removed. Use THREE.EdgesGeometry instead."),new Se(new dn(t.geometry),new Ee({color:void 0!==e?e:16777215}))}function Jr(t,e){return console.warn("THREE.WireframeHelper has been removed. Use THREE.WireframeGeometry instead."),new Se(new De(t.geometry),new Ee({color:void 0!==e?e:16777215}))}function $r(t){return console.warn("THREE.XHRLoader has been renamed to THREE.FileLoader."),new Ln(t)}function to(t){return console.warn("THREE.BinaryTextureLoader has been renamed to THREE.DataTextureLoader."),new Nn(t)}function eo(){console.error("THREE.Projector has been moved to /examples/js/renderers/Projector.js."),this.project
14Vector=function(t,e){console.warn("THREE.Projector: .projectVector() is now vector.project()."),t.project(e)},this.unprojectVector=function(t,e){console.warn("THREE.Projector: .unprojectVector() is now vector.unproject()."),t.unproject(e)},this.pickingRay=function(){console.error("THREE.Projector: .pickingRay() is now raycaster.setFromCamera().")}}function no(){console.error("THREE.CanvasRenderer has been moved to /examples/js/renderers/CanvasRenderer.js"),this.domElement=document.createElementNS("http://www.w3.org/1999/xhtml","canvas"),this.clear=function(){},this.render=function(){},this.setClearColor=function(){},this.setSize=function(){}}void 0===Number.EPSILON&&(Number.EPSILON=Math.pow(2,-52)),void 0===Number.isInteger&&(Number.isInteger=function(t){return"number"==typeof t&&isFinite(t)&&Math.floor(t)===t}),void 0===Math.sign&&(Math.sign=function(t){return t<0?-1:t>0?1:+t}),void 0===Function.prototype.name&&Object.defineProperty(Function.prototype,"name",{get:function(){return this.toString().match(/^\s*function\s*([^\(\s]*)/)[1]}}),void 0===Object.assign&&!function(){Object.assign=function(t){if(void 0===t||null===t)throw new TypeError("Cannot convert undefined or null to object");for(var e=Object(t),n=1;n<arguments.length;n++){var i=arguments[n];if(void 0!==i&&null!==i)for(var r in i)Object.prototype.hasOwnProperty.call(i,r)&&(e[r]=i[r])}return e}}(),Object.assign(e.prototype,{addEventListener:function(t,e){void 0===this._listeners&&(this._listeners={});var n=this._listeners;void 0===n[t]&&(n[t]=[]),n[t].indexOf(e)===-1&&n[t].push(e)},hasEventListener:function(t,e){if(void 0===this._listeners)return!1;var n=this._listeners;return void 0!==n[t]&&n[t].indexOf(e)!==-1},removeEventListener:function(t,e){if(void 0!==this._listeners){var n=this._listeners,i=n[t];if(void 0!==i){var r=i.indexOf(e);r!==-1&&i.splice(r,1)}}},dispatchEvent:function(t){if(void 0!==this._listeners){var e=this._listeners,n=e[t.type];if(void 0!==n){t.target=this;var i=[],r=0,o=n.length;for(r=0;r<o;r++)i[r]=n[r];for(r=0;r<o;r++)i[r].call(this,t)}}}});var io="85",ro={LEFT:0,MIDDLE:1,RIGHT:2},oo=0,ao=1,so=2,lo=3,ho=0,co=1,uo=0,po=1,fo=2,mo=0,go=1,vo=2,yo=1,_o=2,bo=0,xo=1,Ao=2,wo=0,Eo=1,To=2,So=3,Mo=4,Co=5,Po=100,Lo=101,Ro=102,No=103,Oo=104,Io=200,Do=201,Bo=202,Uo=203,Vo=204,Go=205,ko=206,Ho=207,Fo=208,zo=209,jo=210,Xo=0,Wo=1,Yo=2,Ko=3,Zo=4,qo=5,Qo=6,Jo=7,$o=0,ta=1,ea=2,na=0,ia=1,ra=2,oa=3,aa=4,sa=300,la=301,ha=302,ca=303,ua=304,pa=305,da=306,fa=307,ma=1e3,ga=1001,va=1002,ya=1003,_a=1004,ba=1005,xa=1006,Aa=1007,wa=1008,Ea=1009,Ta=1010,Sa=1011,Ma=1012,Ca=1013,Pa=1014,La=1015,Ra=1016,Na=1017,Oa=1018,Ia=1019,Da=1020,Ba=1021,Ua=1022,Va=1023,Ga=1024,ka=1025,Ha=Va,Fa=1026,za=1027,ja=2001,Xa=2002,Wa=2003,Ya=2004,Ka=2100,Za=2101,qa=2102,Qa=2103,Ja=2151,$a=2200,ts=2201,es=2202,ns=2300,is=2301,rs=2302,os=2400,as=2401,ss=2402,ls=0,hs=1,cs=2,us=3e3,ps=3001,ds=3007,fs=3002,ms=3003,gs=3004,vs=3005,ys=3006,_s=3200,bs=3201,xs={DEG2RAD:Math.PI/180,RAD2DEG:180/Math.PI,generateUUID:function(){var t,e="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split(""),n=new Array(36),i=0;return function(){for(var r=0;r<36;r++)8===r||13===r||18===r||23===r?n[r]="-":14===r?n[r]="4":(i<=2&&(i=33554432+16777216*Math.random()|0),t=15&i,i>>=4,n[r]=e[19===r?3&t|8:t]);return n.join("")}}(),clamp:function(t,e,n){return Math.max(e,Math.min(n,t))},euclideanModulo:function(t,e){return(t%e+e)%e},mapLinear:function(t,e,n,i,r){return i+(t-e)*(r-i)/(n-e)},lerp:function(t,e,n){return(1-n)*t+n*e},smoothstep:function(t,e,n){return t<=e?0:t>=n?1:(t=(t-e)/(n-e),t*t*(3-2*t))},smootherstep:function(t,e,n){return t<=e?0:t>=n?1:(t=(t-e)/(n-e),t*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())},degToRad:function(t){return t*xs.DEG2RAD},radToDeg:function(t){return t*xs.RAD2DEG},isPowerOfTwo:function(t){return 0===(t&t-1)&&0!==t},nearestPowerOfTwo:function(t){return Math.pow(2,Math.round(Math.log(t)/Math.LN2))},nextPowerOfTwo:function(t){return t--,t|=t>>1,t|=t>>2,t|=t>>4,t|=t>>8,t|=t>>16,t++,t}};Object.defineProperties(n.prototype,{width:{get:function(){return this.x},set:function(t){this.x=t}},height:{get:function(){return this.y},set:function(t){this.y=t}}}),Object.assign(n.prototype,{isVector2:!0,set:function(t,e){return this.x=t,this.y=e,this},setScalar:function(t){return this.x=t,this.y=t,this},setX:function(t){return this.x=t,this},setY:function(t){return this.y=t,this},setComponent:function(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:function(t){switch(t){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+t)}},clone:function(){return new this.constructor(this.x,this.y)},copy:function(t){return this.x=t.x,this.y=t.y,this},add:function(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:function(t){return this.x+=t,this.y+=t,this},addVectors:function(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this},addScaledVector:function(t,e){return this.x+=t.x*e,this.y+=t.y*e,this},sub:function(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:function(t){return this.x-=t,this.y-=t,this},subVectors:function(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this},multiply:function(t){return this.x*=t.x,this.y*=t.y,this},multiplyScalar:function(t){return this.x*=t,this.y*=t,this},divide:function(t){return this.x/=t.x,this.y/=t.y,this},divideScalar:function(t){return this.multiplyScalar(1/t)},min:function(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this},max:function(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this},clamp:function(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:function(){var t=new n,e=new n;return function(n,i){return t.set(n,n),e.set(i,i),this.clamp(t,e)}}(),clampLength:function(t,e){var n=this.length();return this.multiplyScalar(Math.max(t,Math.min(e,n))/n)},floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}
14,round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},roundToZero:function(){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:function(){return this.x=-this.x,this.y=-this.y,this},dot:function(t){return this.x*t.x+this.y*t.y},lengthSq:function(){return this.x*this.x+this.y*this.y},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},lengthManhattan:function(){return Math.abs(this.x)+Math.abs(this.y)},normalize:function(){return this.divideScalar(this.length())},angle:function(){var t=Math.atan2(this.y,this.x);return t<0&&(t+=2*Math.PI),t},distanceTo:function(t){return Math.sqrt(this.distanceToSquared(t))},distanceToSquared:function(t){var e=this.x-t.x,n=this.y-t.y;return e*e+n*n},distanceToManhattan:function(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)},setLength:function(t){return this.multiplyScalar(t/this.length())},lerp:function(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this},lerpVectors:function(t,e,n){return this.subVectors(e,t).multiplyScalar(n).add(t)},equals:function(t){return t.x===this.x&&t.y===this.y},fromArray:function(t,e){return void 0===e&&(e=0),this.x=t[e],this.y=t[e+1],this},toArray:function(t,e){return void 0===t&&(t=[]),void 0===e&&(e=0),t[e]=this.x,t[e+1]=this.y,t},fromBufferAttribute:function(t,e,n){return void 0!==n&&console.warn("THREE.Vector2: offset has been removed from .fromBufferAttribute()."),this.x=t.getX(e),this.y=t.getY(e),this},rotateAround:function(t,e){var n=Math.cos(e),i=Math.sin(e),r=this.x-t.x,o=this.y-t.y;return this.x=r*n-o*i+t.x,this.y=r*i+o*n+t.y,this}});var As=0;i.DEFAULT_IMAGE=void 0,i.DEFAULT_MAPPING=sa,Object.defineProperty(i.prototype,"needsUpdate",{set:function(t){t===!0&&this.version++}}),Object.assign(i.prototype,e.prototype,{constructor:i,isTexture:!0,clone:function(){return(new this.constructor).copy(this)},copy:function(t){return this.name=t.name,this.image=t.image,this.mipmaps=t.mipmaps.slice(0),this.mapping=t.mapping,this.wrapS=t.wrapS,this.wrapT=t.wrapT,this.magFilter=t.magFilter,this.minFilter=t.minFilter,this.anisotropy=t.anisotropy,this.format=t.format,this.type=t.type,this.offset.copy(t.offset),this.repeat.copy(t.repeat),this.generateMipmaps=t.generateMipmaps,this.premultiplyAlpha=t.premultiplyAlpha,this.flipY=t.flipY,this.unpackAlignment=t.unpackAlignment,this.encoding=t.encoding,this},toJSON:function(t){function e(t){var e;return void 0!==t.toDataURL?e=t:(e=document.createElementNS("http://www.w3.org/1999/xhtml","canvas"),e.width=t.width,e.height=t.height,e.getContext("2d").drawImage(t,0,0,t.width,t.height)),e.width>2048||e.height>2048?e.toDataURL("image/jpeg",.6):e.toDataURL("image/png")}if(void 0!==t.textures[this.uuid])return t.textures[this.uuid];var n={metadata:{version:4.5,type:"Texture",generator:"Texture.toJSON"},uuid:this.uuid,name:this.name,mapping:this.mapping,repeat:[this.repeat.x,this.repeat.y],offset:[this.offset.x,this.offset.y],wrap:[this.wrapS,this.wrapT],minFilter:this.minFilter,magFilter:this.magFilter,anisotropy:this.anisotropy,flipY:this.flipY};if(void 0!==this.image){var i=this.image;void 0===i.uuid&&(i.uuid=xs.generateUUID()),void 0===t.images[i.uuid]&&(t.images[i.uuid]={uuid:i.uuid,url:e(i)}),n.image=i.uuid}return t.textures[this.uuid]=n,n},dispose:function(){this.dispatchEvent({type:"dispose"})},transformUv:function(t){if(this.mapping===sa){if(t.multiply(this.repeat),t.add(this.offset),t.x<0||t.x>1)switch(this.wrapS){case ma:t.x=t.x-Math.floor(t.x);break;case ga:t.x=t.x<0?0:1;break;case va: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 ma:t.y=t.y-Math.floor(t.y);break;case ga:t.y=t.y<0?0:1;break;case va:1===Math.abs(Math.floor(t.y)%2)?t.y=Math.ceil(t.y)-t.y:t.y=t.y-Math.floor(t.y)}this.flipY&&(t.y=1-t.y)}}}),Object.assign(r.prototype,{isVector4:!0,set:function(t,e,n,i){return this.x=t,this.y=e,this.z=n,this.w=i,this},setScalar:function(t){return this.x=t,this.y=t,this.z=t,this.w=t,this},setX:function(t){return this.x=t,this},setY:function(t){return this.y=t,this},setZ:function(t){return this.z=t,this},setW:function(t){return this.w=t,this},setComponent:function(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:function(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:function(){return new this.constructor(this.x,this.y,this.z,this.w)},copy:function(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:function(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:function(t){return this.x+=t,this.y+=t,this.z+=t,this.w+=t,this},addVectors:function(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:function(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:function(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:function(t){return this.x-=t,this.y-=t,this.z-=t,this.w-=t,this},subVectors:function(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},multiplyScalar:function(t){return this.x*=t,this.y*=t,this.z*=t,this.w*=t,this},applyMatrix4:function(t){var e=this.x,n=this.y,i=this.z,r=this.w,o=t.elements;
vendor: 7,478 bytes, lines 14-15
14return this.x=o[0]*e+o[4]*n+o[8]*i+o[12]*r,this.y=o[1]*e+o[5]*n+o[9]*i+o[13]*r,this.z=o[2]*e+o[6]*n+o[10]*i+o[14]*r,this.w=o[3]*e+o[7]*n+o[11]*i+o[15]*r,this},divideScalar:function(t){return this.multiplyScalar(1/t)},setAxisAngleFromQuaternion:function(t){this.w=2*Math.acos(t.w);var 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:function(t){var e,n,i,r,o=.01,a=.1,s=t.elements,l=s[0],h=s[4],c=s[8],u=s[1],p=s[5],d=s[9],f=s[2],m=s[6],g=s[10];if(Math.abs(h-u)<o&&Math.abs(c-f)<o&&Math.abs(d-m)<o){if(Math.abs(h+u)<a&&Math.abs(c+f)<a&&Math.abs(d+m)<a&&Math.abs(l+p+g-3)<a)return this.set(1,0,0,0),this;e=Math.PI;var v=(l+1)/2,y=(p+1)/2,_=(g+1)/2,b=(h+u)/4,x=(c+f)/4,A=(d+m)/4;return v>y&&v>_?v<o?(n=0,i=.707106781,r=.707106781):(n=Math.sqrt(v),i=b/n,r=x/n):y>_?y<o?(n=.707106781,i=0,r=.707106781):(i=Math.sqrt(y),n=b/i,r=A/i):_<o?(n=.707106781,i=.707106781,r=0):(r=Math.sqrt(_),n=x/r,i=A/r),this.set(n,i,r,e),this}var w=Math.sqrt((m-d)*(m-d)+(c-f)*(c-f)+(u-h)*(u-h));return Math.abs(w)<.001&&(w=1),this.x=(m-d)/w,this.y=(c-f)/w,this.z=(u-h)/w,this.w=Math.acos((l+p+g-1)/2),this},min:function(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.w=Math.min(this.w,t.w),this},max:function(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.w=Math.max(this.w,t.w),this},clamp:function(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.w=Math.max(t.w,Math.min(e.w,this.w)),this},clampScalar:function(){var t=new r,e=new r;return function(n,i){return t.set(n,n,n,n),e.set(i,i,i,i),this.clamp(t,e)}}(),floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this.w=Math.floor(this.w),this},ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this.w=Math.ceil(this.w),this},round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this.w=Math.round(this.w),this; 15},roundToZero:function(){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.w=this.w<0?Math.ceil(this.w):Math.floor(this.w),this},negate:function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this},dot:function(t){return this.x*t.x+this.y*t.y+this.z*t.z+this.w*t.w},lengthSq:function(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)},lengthManhattan:function(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)},normalize:function(){return this.divideScalar(this.length())},setLength:function(t){return this.multiplyScalar(t/this.length())},lerp:function(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.w+=(t.w-this.w)*e,this},lerpVectors:function(t,e,n){return this.subVectors(e,t).multiplyScalar(n).add(t)},equals:function(t){return t.x===this.x&&t.y===this.y&&t.z===this.z&&t.w===this.w},fromArray:function(t,e){return void 0===e&&(e=0),this.x=t[e],this.y=t[e+1],this.z=t[e+2],this.w=t[e+3],this},toArray:function(t,e){return void 0===t&&(t=[]),void 0===e&&(e=0),t[e]=this.x,t[e+1]=this.y,t[e+2]=this.z,t[e+3]=this.w,t},fromBufferAttribute:function(t,e,n){return void 0!==n&&console.warn("THREE.Vector4: offset has been removed from .fromBufferAttribute()."),this.x=t.getX(e),this.y=t.getY(e),this.z=t.getZ(e),this.w=t.getW(e),this}}),Object.assign(o.prototype,e.prototype,{isWebGLRenderTarget:!0,setSize:function(t,e){this.width===t&&this.height===e||(this.width=t,this.height=e,this.dispose()),this.viewport.set(0,0,t,e),this.scissor.set(0,0,t,e)},clone:function(){return(new this.constructor).copy(this)},copy:function(t){return this.width=t.width,this.height=t.height,this.viewport.copy(t.viewport),this.texture=t.texture.clone(),this.depthBuffer=t.depthBuffer,this.stencilBuffer=t.stencilBuffer,this.depthTexture=t.depthTexture,this},dispose:function(){this.dispatchEvent({type:"dispose"})}}),a.prototype=Object.create(o.prototype),a.prototype.constructor=a,a.prototype.isWebGLRenderTargetCube=!0,Object.assign(s,{slerp:function(t,e,n,i){return n.copy(t).slerp(e,i)},slerpFlat:function(t,e,n,i,r,o,a){var s=n[i+0],l=n[i+1],h=n[i+2],c=n[i+3],u=r[o+0],p=r[o+1],d=r[o+2],f=r[o+3];if(c!==f||s!==u||l!==p||h!==d){var m=1-a,g=s*u+l*p+h*d+c*f,v=g>=0?1:-1,y=1-g*g;if(y>Number.EPSILON){var _=Math.sqrt(y),b=Math.atan2(_,g*v);m=Math.sin(m*b)/_,a=Math.sin(a*b)/_}var x=a*v;if(s=s*m+u*x,l=l*m+p*x,h=h*m+d*x,c=c*m+f*x,m===1-a){var A=1/Math.sqrt(s*s+l*l+h*h+c*c);s*=A,l*=A,h*=A,c*=A}}t[e]=s,t[e+1]=l,t[e+2]=h,t[e+3]=c}}),Object.defineProperties(s.prototype,{x:{get:function(){return this._x},set:function(t){this._x=t,this.onChangeCallback()}},y:{get:function(){return this._y},set:function(t){this._y=t,this.onChangeCallback()}},z:{get:function(){return this._z},set:function(t){this._z=t,this.onChangeCallback()}},w:{get:function(){return this._w},set:function(t){this._w=t,this.onChangeCallback()}}}),Object.assign(s.prototype,{set:function(t,e,n,i){return this._x=t,this._y=e,this._z=n,this._w=i,this.onChangeCallback(),this},clone:function(){return new this.constructor(this._x,this._y,this._z,this._w)},copy:function(t){return this._x=t.x,this._y=t.y,this._z=t.z,this._w=t.w,this.onChangeCallback(),this},setFromEuler:function(t,e){if((t&&t.isEuler)===!1)throw new Error("THREE.Quaternion: .setFromEuler() now expects an Euler rotation rather than a Vector3 and order.");var n=t._x,i=t._y,r=t._z,o=t.order,a=Math.cos,s=Math.sin,l=a(n/2),h=a(i/2),c=a(r/2),u=s(n/2),p=s(i/2),d=s(r/2);return"XYZ"===o?(this._x=u*h*c+l*p*d,this._y=l*p*c-u*h*d,this._z=l*h*d+u*p*c,this._w=l*h*c-u*p*d):"YXZ"===o?(this._x=u*h*c+l*p*d,this._y=l*p*c-u*h*d,this._z=l*h*d-u*p*c,this._w=l*h*c+u*p*d):"ZXY"===o?(this._x=u*h*c-l*p*d,this._y=l*p*c+u*h*d,this._z=l*h*d+u*p*c,this._w=l*h*c-u*p*d):"ZYX"===o?(this._x=u*h*c-l*p*d,this._y=l*p*c+u*h*d,this._z=l*h*d-u*p*c,this._w=l*h*c+u*p*d):"YZX"===o?(this._x=u*h*c+l*p*d,this._y=l*p*c+u*h*d,this._z=l*h*d-u*p*c,this._w=l*h*c-u*p*d):"XZY"===o&&(this._x=u*h*c-l*p*d,this._y=l*p*c-u*h*d,this._z=l*h*d+u*p*c,this._w=l*h*c+u*p*d),e!==!1&&this.onChangeCallback(),this},setFromAxisAngle:function(t,e){var n=e/2,i=Math.sin(n);return this._x=t.x*i,this._y=t.y*i,this._z=t.z*i,this._w=Math.cos(n),this.onChangeCallback(),this},setFromRotationMatrix:function(t){var e,n=t.elements,i=n[0],r=n[4],o=n[8],a=n[1],s=n[5],l=n[9],h=n[2],c=n[6],u=n[10],p=i+s+u;return p>0?(e=.5/Math.sqrt(p+1),this._w=.25/e,this._x=(c-l)*e,this._y=(o-h)*e,this._z=(a-r)*e):i>s&&i>u?(e=2*Math.sqrt(1+i-s-u),this._w=(c-l)/e,this._x=.25*e,this._y=(r+a)/e,this._z=(o+h)/e):s>u?(e=2*Math.sqrt(1+s-i-u),this._w=(o-h)/e,this._x=(r+a)/e,this._y=.25*e,this._z=(l+c)/e):(e=2*Math.sqrt(1+u-i-s),this._w=(a-r)/e,this._x=(o+h)/e,this._y=(l+c)/e,this._z=.25*e),this.onChangeCallback(),this},setFromUnitVectors:function(){var t,e=new l,n=1e-6;return function(i,r){return void 0===e&&(e=new l),t=i.dot(r)+1,t<n?(t=0,Math.abs(i.x)>Math.abs(i.z)?e.set(-i.y,i.x,0):e.set(0,-i.z,i.y)):e.crossVectors(i,r),this._x=e.x,this._y=e.y,this._z=e.z,this._w=t,this.normalize()}}(),inverse:function(){return this.conjugate().normalize()}
vendor: 11,920 bytes, line 15
15,conjugate:function(){return this._x*=-1,this._y*=-1,this._z*=-1,this.onChangeCallback(),this},dot:function(t){return this._x*t._x+this._y*t._y+this._z*t._z+this._w*t._w},lengthSq:function(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w},length:function(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)},normalize:function(){var 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:function(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:function(t){return this.multiplyQuaternions(t,this)},multiplyQuaternions:function(t,e){var n=t._x,i=t._y,r=t._z,o=t._w,a=e._x,s=e._y,l=e._z,h=e._w;return this._x=n*h+o*a+i*l-r*s,this._y=i*h+o*s+r*a-n*l,this._z=r*h+o*l+n*s-i*a,this._w=o*h-n*a-i*s-r*l,this.onChangeCallback(),this},slerp:function(t,e){if(0===e)return this;if(1===e)return this.copy(t);var n=this._x,i=this._y,r=this._z,o=this._w,a=o*t._w+n*t._x+i*t._y+r*t._z;if(a<0?(this._w=-t._w,this._x=-t._x,this._y=-t._y,this._z=-t._z,a=-a):this.copy(t),a>=1)return this._w=o,this._x=n,this._y=i,this._z=r,this;var s=Math.sqrt(1-a*a);if(Math.abs(s)<.001)return this._w=.5*(o+this._w),this._x=.5*(n+this._x),this._y=.5*(i+this._y),this._z=.5*(r+this._z),this;var l=Math.atan2(s,a),h=Math.sin((1-e)*l)/s,c=Math.sin(e*l)/s;return this._w=o*h+this._w*c,this._x=n*h+this._x*c,this._y=i*h+this._y*c,this._z=r*h+this._z*c,this.onChangeCallback(),this},equals:function(t){return t._x===this._x&&t._y===this._y&&t._z===this._z&&t._w===this._w},fromArray:function(t,e){return void 0===e&&(e=0),this._x=t[e],this._y=t[e+1],this._z=t[e+2],this._w=t[e+3],this.onChangeCallback(),this},toArray:function(t,e){return void 0===t&&(t=[]),void 0===e&&(e=0),t[e]=this._x,t[e+1]=this._y,t[e+2]=this._z,t[e+3]=this._w,t},onChange:function(t){return this.onChangeCallback=t,this},onChangeCallback:function(){}}),Object.assign(l.prototype,{isVector3:!0,set:function(t,e,n){return this.x=t,this.y=e,this.z=n,this},setScalar:function(t){return this.x=t,this.y=t,this.z=t,this},setX:function(t){return this.x=t,this},setY:function(t){return this.y=t,this},setZ:function(t){return this.z=t,this},setComponent:function(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:function(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:function(){return new this.constructor(this.x,this.y,this.z)},copy:function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this},add:function(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:function(t){return this.x+=t,this.y+=t,this.z+=t,this},addVectors:function(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this},addScaledVector:function(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this},sub:function(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:function(t){return this.x-=t,this.y-=t,this.z-=t,this},subVectors:function(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this},multiply:function(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:function(t){return this.x*=t,this.y*=t,this.z*=t,this},multiplyVectors:function(t,e){return this.x=t.x*e.x,this.y=t.y*e.y,this.z=t.z*e.z,this},applyEuler:function(){var t=new s;return function(e){return(e&&e.isEuler)===!1&&console.error("THREE.Vector3: .applyEuler() now expects an Euler rotation rather than a Vector3 and order."),this.applyQuaternion(t.setFromEuler(e))}}(),applyAxisAngle:function(){var t=new s;return function(e,n){return this.applyQuaternion(t.setFromAxisAngle(e,n))}}(),applyMatrix3:function(t){var e=this.x,n=this.y,i=this.z,r=t.elements;return this.x=r[0]*e+r[3]*n+r[6]*i,this.y=r[1]*e+r[4]*n+r[7]*i,this.z=r[2]*e+r[5]*n+r[8]*i,this},applyMatrix4:function(t){var e=this.x,n=this.y,i=this.z,r=t.elements;this.x=r[0]*e+r[4]*n+r[8]*i+r[12],this.y=r[1]*e+r[5]*n+r[9]*i+r[13],this.z=r[2]*e+r[6]*n+r[10]*i+r[14];var o=r[3]*e+r[7]*n+r[11]*i+r[15];return this.divideScalar(o)},applyQuaternion:function(t){var e=this.x,n=this.y,i=this.z,r=t.x,o=t.y,a=t.z,s=t.w,l=s*e+o*i-a*n,h=s*n+a*e-r*i,c=s*i+r*n-o*e,u=-r*e-o*n-a*i;return this.x=l*s+u*-r+h*-a-c*-o,this.y=h*s+u*-o+c*-r-l*-a,this.z=c*s+u*-a+l*-o-h*-r,this},project:function(){var t=new h;return function(e){return t.multiplyMatrices(e.projectionMatrix,t.getInverse(e.matrixWorld)),this.applyMatrix4(t)}}(),unproject:function(){var t=new h;return function(e){return t.multiplyMatrices(e.matrixWorld,t.getInverse(e.projectionMatrix)),this.applyMatrix4(t)}}(),transformDirection:function(t){var e=this.x,n=this.y,i=this.z,r=t.elements;return this.x=r[0]*e+r[4]*n+r[8]*i,this.y=r[1]*e+r[5]*n+r[9]*i,this.z=r[2]*e+r[6]*n+r[10]*i,this.normalize()},divide:function(t){return this.x/=t.x,this.y/=t.y,this.z/=t.z,this},divideScalar:function(t){return this.multiplyScalar(1/t)},min:function(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:function(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:function(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:function(){var t=new l,e=new l;return function(n,i){return t.set(n,n,n),e.set(i,i,i),this.clamp(t,e)}}(),clampLength:function(t,e){var n=this.length();return this.multiplyScalar(Math.max(t,Math.min(e,n))/n)},floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this},ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this},round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this},roundToZero:function(){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:function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this},dot:function(t){return this.x*t.x+this.y*t.y+this.z*t.z},lengthSq:function(){return this.x*this.x+this.y*this.y+this.z*this.z},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)},lengthManhattan:function(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)},normalize:function(){return this.divideScalar(this.length())},setLength:function(t){return this.multiplyScalar(t/this.length())},lerp:function(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:function(t,e,n){return this.subVectors(e,t).multiplyScalar(n).add(t)},cross:function(t,e){if(void 0!==e)return console.warn("THREE.Vector3: .cross() now only accepts one argument. Use .crossVectors( a, b ) instead."),this.crossVectors(t,e);var n=this.x,i=this.y,r=this.z;return this.x=i*t.z-r*t.y,this.y=r*t.x-n*t.z,this.z=n*t.y-i*t.x,this},crossVectors:function(t,e){var n=t.x,i=t.y,r=t.z,o=e.x,a=e.y,s=e.z;return this.x=i*s-r*a,this.y=r*o-n*s,this.z=n*a-i*o,this},projectOnVector:function(t){var e=t.dot(this)/t.lengthSq();return this.copy(t).multiplyScalar(e)},projectOnPlane:function(){var t=new l;return function(e){return t.copy(this).projectOnVector(e),this.sub(t)}}(),reflect:function(){var t=new l;return function(e){return this.sub(t.copy(e).multiplyScalar(2*this.dot(e)))}}(),angleTo:function(t){var e=this.dot(t)/Math.sqrt(this.lengthSq()*t.lengthSq());return Math.acos(xs.clamp(e,-1,1))},distanceTo:function(t){return Math.sqrt(this.distanceToSquared(t))},distanceToSquared:function(t){var e=this.x-t.x,n=this.y-t.y,i=this.z-t.z;return e*e+n*n+i*i},distanceToManhattan:function(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)+Math.abs(this.z-t.z)},setFromSpherical:function(t){var e=Math.sin(t.phi)*t.radius;return this.x=e*Math.sin(t.theta),this.y=Math.cos(t.phi)*t.radius,this.z=e*Math.cos(t.theta),this},setFromCylindrical:function(t){return this.x=t.radius*Math.sin(t.theta),this.y=t.y,this.z=t.radius*Math.cos(t.theta),this},setFromMatrixPosition:function(t){return this.setFromMatrixColumn(t,3)},setFromMatrixScale:function(t){var e=this.setFromMatrixColumn(t,0).length(),n=this.setFromMatrixColumn(t,1).length(),i=this.setFromMatrixColumn(t,2).length();return this.x=e,this.y=n,this.z=i,this},setFromMatrixColumn:function(t,e){return this.fromArray(t.elements,4*e)},equals:function(t){return t.x===this.x&&t.y===this.y&&t.z===this.z},fromArray:function(t,e){return void 0===e&&(e=0),this.x=t[e],this.y=t[e+1],this.z=t[e+2],this},toArray:function(t,e){return void 0===t&&(t=[]),void 0===e&&(e=0),t[e]=this.x,t[e+1]=this.y,t[e+2]=this.z,t},fromBufferAttribute:function(t,e,n){return void 0!==n&&console.warn("THREE.Vector3: offset has been removed from .fromBufferAttribute()."),this.x=t.getX(e),this.y=t.getY(e),this.z=t.getZ(e),this}}),Object.assign(h.prototype,{isMatrix4:!0,set:function(t,e,n,i,r,o,a,s,l,h,c,u,p,d,f,m){var g=this.elements;return g[0]=t,g[4]=e,g[8]=n,g[12]=i,g[1]=r,g[5]=o,g[9]=a,g[13]=s,g[2]=l,g[6]=h,g[10]=c,g[14]=u,g[3]=p,g[7]=d,g[11]=f,g[15]=m,this},identity:function(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this},clone:function(){return(new h).fromArray(this.elements)},copy:function(t){var e=this.elements,n=t.elements;return e[0]=n[0],e[1]=n[1],e[2]=n[2],e[3]=n[3],e[4]=n[4],e[5]=n[5],e[6]=n[6],e[7]=n[7],e[8]=n[8],e[9]=n[9],e[10]=n[10],e[11]=n[11],e[12]=n[12],e[13]=n[13],e[14]=n[14],e[15]=n[15],this},copyPosition:function(t){var e=this.elements,n=t.elements;return e[12]=n[12],e[13]=n[13],e[14]=n[14],this},extractBasis:function(t,e,n){return t.setFromMatrixColumn(this,0),e.setFromMatrixColumn(this,1),n.setFromMatrixColumn(this,2),this},makeBasis:function(t,e,n){return this.set(t.x,e.x,n.x,0,t.y,e.y,n.y,0,t.z,e.z,n.z,0,0,0,0,1),this},extractRotation:function(){var t=new l;return function(e){var n=this.elements,i=e.elements,r=1/t.setFromMatrixColumn(e,0).length(),o=1/t.setFromMatrixColumn(e,1).length(),a=1/t.setFromMatrixColumn(e,2).length();return n[0]=i[0]*r,n[1]=i[1]*r,n[2]=i[2]*r,n[4]=i[4]*o,n[5]=i[5]*o,n[6]=i[6]*o,n[8]=i[8]*a,n[9]=i[9]*a,n[10]=i[10]*a,this}}(),makeRotationFromEuler:function(t){(t&&t.isEuler)===!1&&console.error("THREE.Matrix: .makeRotationFromEuler() now expects a Euler rotation rather than a Vector3 and order.");var e=this.elements,n=t.x,i=t.y,r=t.z,o=Math.cos(n),a=Math.sin(n),s=Math.cos(i),l=Math.sin(i),h=Math.cos(r),c=Math.sin(r);if("XYZ"===t.order){var u=o*h,p=o*c,d=a*h,f=a*c;e[0]=s*h,e[4]=-s*c,e[8]=l,e[1]=p+d*l,e[5]=u-f*l,e[9]=-a*s,e[2]=f-u*l,e[6]=d+p*l,e[10]=o*s}else if("YXZ"===t.order){var m=s*h,g=s*c,v=l*h,y=l*c;e[0]=m+y*a,e[4]=v*a-g,e[8]=o*l,e[1]=o*c,e[5]=o*h,e[9]=-a,e[2]=g*a-v,e[6]=y+m*a,e[10]=o*s}else if("ZXY"===t.order){var m=s*h,g=s*c,v=l*h,y=l*c;e[0]=m-y*a,e[4]=-o*c,e[8]=v+g*a,e[1]=g+v*a,e[5]=o*h,e[9]=y-m*a,e[2]=-o*l,e[6]=a,e[10]=o*s}else if("ZYX"===t.order){var u=o*h,p=o*c,d=a*h,f=a*c;e[0]=s*h,e[4]=d*l-p,e[8]=u*l+f,e[1]=s*c,e[5]=f*l+u,e[9]=p*l-d,e[2]=-l,e[6]=a*s,e[10]=o*s}else if("YZX"===t.order){var _=o*s,b=o*l,x=a*s,A=a*l;e[0]=s*h,e[4]=A-_*c,e[8]=x*c+b,e[1]=c,e[5]=o*h,e[9]=-a*h,e[2]=-l*h,e[6]=b*c+x,e[10]=_-A*c}
15else if("XZY"===t.order){var _=o*s,b=o*l,x=a*s,A=a*l;e[0]=s*h,e[4]=-c,e[8]=l*h,e[1]=_*c+A,e[5]=o*h,e[9]=b*c-x,e[2]=x*c-b,e[6]=a*h,e[10]=A*c+_}return e[3]=0,e[7]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,this},makeRotationFromQuaternion:function(t){var e=this.elements,n=t._x,i=t._y,r=t._z,o=t._w,a=n+n,s=i+i,l=r+r,h=n*a,c=n*s,u=n*l,p=i*s,d=i*l,f=r*l,m=o*a,g=o*s,v=o*l;return e[0]=1-(p+f),e[4]=c-v,e[8]=u+g,e[1]=c+v,e[5]=1-(h+f),e[9]=d-m,e[2]=u-g,e[6]=d+m,e[10]=1-(h+p),e[3]=0,e[7]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,this},lookAt:function(){var t=new l,e=new l,n=new l;return function(i,r,o){var a=this.elements;return n.subVectors(i,r),0===n.lengthSq()&&(n.z=1),n.normalize(),t.crossVectors(o,n),0===t.lengthSq()&&(n.z+=1e-4,t.crossVectors(o,n)),t.normalize(),e.crossVectors(n,t),a[0]=t.x,a[4]=e.x,a[8]=n.x,a[1]=t.y,a[5]=e.y,a[9]=n.y,a[2]=t.z,a[6]=e.z,a[10]=n.z,this}}(),multiply:function(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:function(t){return this.multiplyMatrices(t,this)},multiplyMatrices:function(t,e){var n=t.elements,i=e.elements,r=this.elements,o=n[0],a=n[4],s=n[8],l=n[12],h=n[1],c=n[5],u=n[9],p=n[13],d=n[2],f=n[6],m=n[10],g=n[14],v=n[3],y=n[7],_=n[11],b=n[15],x=i[0],A=i[4],w=i[8],E=i[12],T=i[1],S=i[5],M=i[9],C=i[13],P=i[2],L=i[6],R=i[10],N=i[14],O=i[3],I=i[7],D=i[11],B=i[15];return r[0]=o*x+a*T+s*P+l*O,r[4]=o*A+a*S+s*L+l*I,r[8]=o*w+a*M+s*R+l*D,r[12]=o*E+a*C+s*N+l*B,r[1]=h*x+c*T+u*P+p*O,r[5]=h*A+c*S+u*L+p*I,r[9]=h*w+c*M+u*R+p*D,r[13]=h*E+c*C+u*N+p*B,r[2]=d*x+f*T+m*P+g*O,r[6]=d*A+f*S+m*L+g*I,r[10]=d*w+f*M+m*R+g*D,r[14]=d*E+f*C+m*N+g*B,r[3]=v*x+y*T+_*P+b*O,r[7]=v*A+y*S+_*L+b*I,r[11]=v*w+y*M+_*R+b*D,r[15]=v*E+y*C+_*N+b*B,this},multiplyScalar:function(t){var 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},applyToBufferAttribute:function(){var t=new l;return function(e){for(var n=0,i=e.count;n<i;n++)t.x=e.getX(n),t.y=e.getY(n),t.z=e.getZ(n),t.applyMatrix4(this),e.setXYZ(n,t.x,t.y,t.z);return e}}(),determinant:function(){var t=this.elements,e=t[0],n=t[4],i=t[8],r=t[12],o=t[1],a=t[5],s=t[9],l=t[13],h=t[2],c=t[6],u=t[10],p=t[14],d=t[3],f=t[7],m=t[11],g=t[15];return d*(+r*s*c-i*l*c-r*a*u+n*l*u+i*a*p-n*s*p)+f*(+e*s*p-e*l*u+r*o*u-i*o*p+i*l*h-r*s*h)+m*(+e*l*c-e*a*p-r*o*c+n*o*p+r*a*h-n*l*h)+g*(-i*a*h-e*s*c+e*a*u+i*o*c-n*o*u+n*s*h)},transpose:function(){var t,e=this.elements;return t=e[1],e[1]=e[4],e[4]=t,t=e[2],e[2]=e[8],e[8]=t,t=e[6],e[6]=e[9],e[9]=t,t=e[3],e[3]=e[12],e[12]=t,t=e[7],e[7]=e[13],e[13]=t,t=e[11],e[11]=e[14],e[14]=t,this},setPosition:function(t){var e=this.elements;return e[12]=t.x,e[13]=t.y,e[14]=t.z,this},getInverse:function(t,e){var n=this.elements,i=t.elements,r=i[0],o=i[1],a=i[2],s=i[3],l=i[4],h=i[5],c=i[6],u=i[7],p=i[8],d=i[9],f=i[10],m=i[11],g=i[12],v=i[13],y=i[14],_=i[15],b=d*y*u-v*f*u+v*c*m-h*y*m-d*c*_+h*f*_,x=g*f*u-p*y*u-g*c*m+l*y*m+p*c*_-l*f*_,A=p*v*u-g*d*u+g*h*m-l*v*m-p*h*_+l*d*_,w=g*d*c-p*v*c-g*h*f+l*v*f+p*h*y-l*d*y,E=r*b+o*x+a*A+s*w;if(0===E){var T="THREE.Matrix4.getInverse(): can't invert matrix, determinant is 0";if(e===!0)throw new Error(T);return console.warn(T),this.identity()}var S=1/E;return n[0]=b*S,n[1]=(v*f*s-d*y*s-v*a*m+o*y*m+d*a*_-o*f*_)*S,n[2]=(h*y*s-v*c*s+v*a*u-o*y*u-h*a*_+o*c*_)*S,n[3]=(d*c*s-h*f*s-d*a*u+o*f*u+h*a*m-o*c*m)*S,n[4]=x*S,n[5]=(p*y*s-g*f*s+g*a*m-r*y*m-p*a*_+r*f*_)*S,n[6]=(g*c*s-l*y*s-g*a*u+r*y*u+l*a*_-r*c*_)*S,n[7]=(l*f*s-p*c*s+p*a*u-r*f*u-l*a*m+r*c*m)*S,n[8]=A*S,n[9]=(g*d*s-p*v*s-g*o*m+r*v*m+p*o*_-r*d*_)*S,n[10]=(l*v*s-g*h*s+g*o*u-r*v*u-l*o*_+r*h*_)*S,n[11]=(p*h*s-l*d*s-p*o*u+r*d*u+l*o*m-r*h*m)*S,n[12]=w*S,n[13]=(p*v*a-g*d*a+g*o*f-r*v*f-p*o*y+r*d*y)*S,n[14]=(g*h*a-l*v*a-g*o*c+r*v*c+l*o*y-r*h*y)*S,n[15]=(l*d*a-p*h*a+p*o*c-r*d*c-l*o*f+r*h*f)*S,this},scale:function(t){var e=this.elements,n=t.x,i=t.y,r=t.z;return e[0]*=n,e[4]*=i,e[8]*=r,e[1]*=n,e[5]*=i,e[9]*=r,e[2]*=n,e[6]*=i,e[10]*=r,e[3]*=n,e[7]*=i,e[11]*=r,this},getMaxScaleOnAxis:function(){var t=this.elements,e=t[0]*t[0]+t[1]*t[1]+t[2]*t[2],n=t[4]*t[4]+t[5]*t[5]+t[6]*t[6],i=t[8]*t[8]+t[9]*t[9]+t[10]*t[10];return Math.sqrt(Math.max(e,n,i))},makeTranslation:function(t,e,n){return this.set(1,0,0,t,0,1,0,e,0,0,1,n,0,0,0,1),this},makeRotationX:function(t){var e=Math.cos(t),n=Math.sin(t);return this.set(1,0,0,0,0,e,-n,0,0,n,e,0,0,0,0,1),this},makeRotationY:function(t){var e=Math.cos(t),n=Math.sin(t);return this.set(e,0,n,0,0,1,0,0,-n,0,e,0,0,0,0,1),this},makeRotationZ:function(t){var e=Math.cos(t),n=Math.sin(t);return this.set(e,-n,0,0,n,e,0,0,0,0,1,0,0,0,0,1),this},makeRotationAxis:function(t,e){var n=Math.cos(e),i=Math.sin(e),r=1-n,o=t.x,a=t.y,s=t.z,l=r*o,h=r*a;return this.set(l*o+n,l*a-i*s,l*s+i*a,0,l*a+i*s,h*a+n,h*s-i*o,0,l*s-i*a,h*s+i*o,r*s*s+n,0,0,0,0,1),this},makeScale:function(t,e,n){return this.set(t,0,0,0,0,e,0,0,0,0,n,0,0,0,0,1),this},makeShear:function(t,e,n){return this.set(1,e,n,0,t,1,n,0,t,e,1,0,0,0,0,1),this},compose:function(t,e,n){return this.makeRotationFromQuaternion(e),this.scale(n),this.setPosition(t),this},decompose:function(){var t=new l,e=new h;return function(n,i,r){var o=this.elements,a=t.set(o[0],o[1],o[2]).length(),s=t.set(o[4],o[5],o[6]).length(),l=t.set(o[8],o[9],o[10]).length(),h=this.determinant();h<0&&(a=-a),n.x=o[12],n.y=o[13],n.z=o[14],e.copy(this);var c=1/a,u=1/s,p=1/l;return e.elements[0]*=c,e.elements[1]*=c,e.elements[2]*=c,e.elements[4]*=u,e.elements[5]*=u,e.elements[6]*=u,e.elements[8]*=p,e.elements[9]*=p,e.elements[10]*=p,i.setFromRotationMatrix(e),r.x=a,r.
15y=s,r.z=l,this}}(),makePerspective:function(t,e,n,i,r,o){void 0===o&&console.warn("THREE.Matrix4: .makePerspective() has been redefined and has a new signature. Please check the docs.");var a=this.elements,s=2*r/(e-t),l=2*r/(n-i),h=(e+t)/(e-t),c=(n+i)/(n-i),u=-(o+r)/(o-r),p=-2*o*r/(o-r);return a[0]=s,a[4]=0,a[8]=h,a[12]=0,a[1]=0,a[5]=l,a[9]=c,a[13]=0,a[2]=0,a[6]=0,a[10]=u,a[14]=p,a[3]=0,a[7]=0,a[11]=-1,a[15]=0,this},makeOrthographic:function(t,e,n,i,r,o){var a=this.elements,s=1/(e-t),l=1/(n-i),h=1/(o-r),c=(e+t)*s,u=(n+i)*l,p=(o+r)*h;return a[0]=2*s,a[4]=0,a[8]=0,a[12]=-c,a[1]=0,a[5]=2*l,a[9]=0,a[13]=-u,a[2]=0,a[6]=0,a[10]=-2*h,a[14]=-p,a[3]=0,a[7]=0,a[11]=0,a[15]=1,this},equals:function(t){for(var e=this.elements,n=t.elements,i=0;i<16;i++)if(e[i]!==n[i])return!1;return!0},fromArray:function(t,e){void 0===e&&(e=0);for(var n=0;n<16;n++)this.elements[n]=t[n+e];return this},toArray:function(t,e){void 0===t&&(t=[]),void 0===e&&(e=0);var n=this.elements;return t[e]=n[0],t[e+1]=n[1],t[e+2]=n[2],t[e+3]=n[3],t[e+4]=n[4],t[e+5]=n[5],t[e+6]=n[6],t[e+7]=n[7],t[e+8]=n[8],t[e+9]=n[9],t[e+10]=n[10],t[e+11]=n[11],t[e+12]=n[12],t[e+13]=n[13],t[e+14]=n[14],t[e+15]=n[15],t}}),c.prototype=Object.create(i.prototype),c.prototype.constructor=c,c.prototype.isDataTexture=!0,u.prototype=Object.create(i.prototype),u.prototype.constructor=u,u.prototype.isCubeTexture=!0,Object.defineProperty(u.prototype,"images",{get:function(){return this.image},set:function(t){this.image=t}});var ws=new i,Es=new u,Ts=[],Ss=[],Ms=new Float32Array(16),Cs=new Float32Array(9);F.prototype.setValue=function(t,e){for(var n=this.seq,i=0,r=n.length;i!==r;++i){var o=n[i];o.setValue(t,e[o.id])}};var Ps=/([\w\d_]+)(\])?(\[|\.)?/g;X.prototype.setValue=function(t,e,n){var i=this.map[e];void 0!==i&&i.setValue(t,n,this.renderer)},X.prototype.setOptional=function(t,e,n){var i=e[n];void 0!==i&&this.setValue(t,n,i)},X.upload=function(t,e,n,i){for(var r=0,o=e.length;r!==o;++r){var a=e[r],s=n[a.id];s.needsUpdate!==!1&&a.setValue(t,s.value,i)}},X.seqWithValue=function(t,e){for(var n=[],i=0,r=t.length;i!==r;++i){var o=t[i];o.id in e&&n.push(o)}return n};var Ls={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,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};Object.assign(W.prototype,{isColor:!0,r:1,g:1,b:1,set:function(t){return t&&t.isColor?this.copy(t):"number"==typeof t?this.setHex(t):"string"==typeof t&&this.setStyle(t),this},setScalar:function(t){return this.r=t,this.g=t,this.b=t,this},setHex:function(t){return t=Math.floor(t),this.r=(t>>16&255)/255,this.g=(t>>8&255)/255,this.b=(255&t)/255,this},setRGB:function(t,e,n){return this.r=t,this.g=e,this.b=n,this},setHSL:function(){function t(t,e,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?t+6*(e-t)*n:n<.5?e:n<2/3?t+6*(e-t)*(2/3-n):t}return function(e,n,i){if(e=xs.euclideanModulo(e,1),n=xs.clamp(n,0,1),i=xs.clamp(i,0,1),0===n)this.r=this.g=this.b=i;else{var r=i<=.5?i*(1+n):i+n-i*n,o=2*i-r;this.r=t(o,r,e+1/3),this.g=t(o,r,e),this.b=t(o,r,e-1/3)}return this}}(),setStyle:function(t){function e(e){void 0!==e&&parseFloat(e)<1&&console.warn("THREE.Color: Alpha component of "+t+" will be ignored.")}var n;if(n=/^((?:rgb|hsl)a?)\(\s*([^\)]*)\)/.exec(t)){var i,r=n[1],o=n[2];switch(r){case"rgb":case"rgba":if(i=/^(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(,\s*([0-9]*\.?[0-9]+)\s*)?$/.exec(o))return this.r=Math.min(255,parseInt(i[1],10))/255,this.g=Math.min(255,parseInt(i[2],10))/255,this.b=Math.min(255,parseInt(i[3],10))/255,e(i[5]),this;if(i=/^(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(,\s*([0-9]*\.?[0-9]+)\s*)?$/.exec(o))return this.r=Math.min(100,parseInt(i[1],10))/100,this.g=Math.min(100,parseInt(i[2],10))/100,this.b=Math.min(100,parseInt(i[3],10))/100,e(i[5]),this;break;case"hsl":case"hsla":if(i=/^([0-9]*\.?[0-9]+)\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(,\s*([0-9]*\.?[0-9]+)\s*)?$/.exec(o)){var a=parseFloat(i[1])/360,s=parseInt(i[2],10)/100,l=parseInt(i[3],10)/100;return e(i[5]),this.setHSL(a,s,l)}}}else if(n=/^\#([A-Fa-f0-9]+)$/.exec(t)){var h=n[1],c=h.length;if(3===c)return this.r=parseInt(h.charAt(0)+h.charAt(0),16)/255,this.g=parseInt(h.charAt(1)+h.charAt(1),16)/255,this.b=parseInt(h.charAt(2)+h.charAt(2),16)/255,this;if(6===c)return this.r=parseInt(h.charAt(0)+h.charAt(1),16)/255,this.g=parseInt(h.charAt(2)+h.charAt(3),16)/255,this.b=parseInt(h.charAt(4)+h.charAt(5),16)/255,this}if(t&&t.length>0){var h=Ls[t];void 0!==h?this.setHex(h):console.warn("THREE.Color: Unknown color "+t)}return this},clone:function(){return new this.constructor(this.r,this.g,this.b)}
15,copy:function(t){return this.r=t.r,this.g=t.g,this.b=t.b,this},copyGammaToLinear:function(t,e){return void 0===e&&(e=2),this.r=Math.pow(t.r,e),this.g=Math.pow(t.g,e),this.b=Math.pow(t.b,e),this},copyLinearToGamma:function(t,e){void 0===e&&(e=2);var n=e>0?1/e:1;return this.r=Math.pow(t.r,n),this.g=Math.pow(t.g,n),this.b=Math.pow(t.b,n),this},convertGammaToLinear:function(){var t=this.r,e=this.g,n=this.b;return this.r=t*t,this.g=e*e,this.b=n*n,this},convertLinearToGamma:function(){return this.r=Math.sqrt(this.r),this.g=Math.sqrt(this.g),this.b=Math.sqrt(this.b),this},getHex:function(){return 255*this.r<<16^255*this.g<<8^255*this.b<<0},getHexString:function(){return("000000"+this.getHex().toString(16)).slice(-6)},getHSL:function(t){var e,n,i=t||{h:0,s:0,l:0},r=this.r,o=this.g,a=this.b,s=Math.max(r,o,a),l=Math.min(r,o,a),h=(l+s)/2;if(l===s)e=0,n=0;else{var c=s-l;switch(n=h<=.5?c/(s+l):c/(2-s-l),s){case r:e=(o-a)/c+(o<a?6:0);break;case o:e=(a-r)/c+2;break;case a:e=(r-o)/c+4}e/=6}return i.h=e,i.s=n,i.l=h,i},getStyle:function(){return"rgb("+(255*this.r|0)+","+(255*this.g|0)+","+(255*this.b|0)+")"},offsetHSL:function(t,e,n){var i=this.getHSL();return i.h+=t,i.s+=e,i.l+=n,this.setHSL(i.h,i.s,i.l),this},add:function(t){return this.r+=t.r,this.g+=t.g,this.b+=t.b,this},addColors:function(t,e){return this.r=t.r+e.r,this.g=t.g+e.g,this.b=t.b+e.b,this},addScalar:function(t){return this.r+=t,this.g+=t,this.b+=t,this},sub:function(t){return this.r=Math.max(0,this.r-t.r),this.g=Math.max(0,this.g-t.g),this.b=Math.max(0,this.b-t.b),this},multiply:function(t){return this.r*=t.r,this.g*=t.g,this.b*=t.b,this},multiplyScalar:function(t){return this.r*=t,this.g*=t,this.b*=t,this},lerp:function(t,e){return this.r+=(t.r-this.r)*e,this.g+=(t.g-this.g)*e,this.b+=(t.b-this.b)*e,this},equals:function(t){return t.r===this.r&&t.g===this.g&&t.b===this.b},fromArray:function(t,e){return void 0===e&&(e=0),this.r=t[e],this.g=t[e+1],this.b=t[e+2],this},toArray:function(t,e){return void 0===t&&(t=[]),void 0===e&&(e=0),t[e]=this.r,t[e+1]=this.g, 16t[e+2]=this.b,t},toJSON:function(){return this.getHex()}});var Rs={common:{diffuse:{value:new W(15658734)},opacity:{value:1},map:{value:null},offsetRepeat:{value:new r(0,0,1,1)},specularMap:{value:null},alphaMap:{value:null},envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},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 n(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 W(16777215)}},lights:{ambientLightColor:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{},shadow:{},shadowBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{},shadow:{},shadowBias:{},shadowRadius:{},shadowMapSize:{}}},spotShadowMap:{value:[]},spotShadowMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{},shadow:{},shadowBias:{},shadowRadius:{},shadowMapSize:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}}},points:{diffuse:{value:new W(15658734)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},offsetRepeat:{value:new r(0,0,1,1)}}},Ns={merge:function(t){for(var e={},n=0;n<t.length;n++){var i=this.clone(t[n]);for(var r in i)e[r]=i[r]}return e},clone:function(t){var e={};for(var n in t){e[n]={};for(var i in t[n]){var r=t[n][i];r&&(r.isColor||r.isMatrix3||r.isMatrix4||r.isVector2||r.isVector3||r.isVector4||r.isTexture)?e[n][i]=r.clone():Array.isArray(r)?e[n][i]=r.slice():e[n][i]=r}}return e}},Os="#ifdef USE_ALPHAMAP\n\tdiffuseColor.a *= texture2D( alphaMap, vUv ).g;\n#endif\n",Is="#ifdef USE_ALPHAMAP\n\tuniform sampler2D alphaMap;\n#endif\n",Ds="#ifdef ALPHATEST\n\tif ( diffuseColor.a < ALPHATEST ) discard;\n#endif\n",Bs="#ifdef USE_AOMAP\n\tfloat ambientOcclusion = ( texture2D( aoMap, vUv2 ).r - 1.0 ) * aoMapIntensity + 1.0;\n\treflectedLight.indirectDiffuse *= ambientOcclusion;\n\t#if defined( USE_ENVMAP ) && defined( PHYSICAL )\n\t\tfloat dotNV = saturate( dot
16( geometry.normal, geometry.viewDir ) );\n\t\treflectedLight.indirectSpecular *= computeSpecularOcclusion( dotNV, ambientOcclusion, material.specularRoughness );\n\t#endif\n#endif\n",Us="#ifdef USE_AOMAP\n\tuniform sampler2D aoMap;\n\tuniform float aoMapIntensity;\n#endif",Vs="\nvec3 transformed = vec3( position );\n",Gs="\nvec3 objectNormal = vec3( normal );\n",ks="float punctualLightIntensityToIrradianceFactor( const in float lightDistance, const in float cutoffDistance, const in float decayExponent ) {\n\tif( decayExponent > 0.0 ) {\n#if defined ( PHYSICALLY_CORRECT_LIGHTS )\n\t\tfloat distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 );\n\t\tfloat maxDistanceCutoffFactor = pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) );\n\t\treturn distanceFalloff * maxDistanceCutoffFactor;\n#else\n\t\treturn pow( saturate( -lightDistance / cutoffDistance + 1.0 ), decayExponent );\n#endif\n\t}\n\treturn 1.0;\n}\nvec3 BRDF_Diffuse_Lambert( const in vec3 diffuseColor ) {\n\treturn RECIPROCAL_PI * diffuseColor;\n}\nvec3 F_Schlick( const in vec3 specularColor, const in float dotLH ) {\n\tfloat fresnel = exp2( ( -5.55473 * dotLH - 6.98316 ) * dotLH );\n\treturn ( 1.0 - specularColor ) * fresnel + specularColor;\n}\nfloat G_GGX_Smith( const in float alpha, const in float dotNL, const in float dotNV ) {\n\tfloat a2 = pow2( alpha );\n\tfloat gl = dotNL + sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\n\tfloat gv = dotNV + sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\n\treturn 1.0 / ( gl * gv );\n}\nfloat G_GGX_SmithCorrelated( const in float alpha, const in float dotNL, const in float dotNV ) {\n\tfloat a2 = pow2( alpha );\n\tfloat gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\n\tfloat gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\n\treturn 0.5 / max( gv + gl, EPSILON );\n}\nfloat D_GGX( const in float alpha, const in float dotNH ) {\n\tfloat a2 = pow2( alpha );\n\tfloat denom = pow2( dotNH ) * ( a2 - 1.0 ) + 1.0;\n\treturn RECIPROCAL_PI * a2 / pow2( denom );\n}\nvec3 BRDF_Specular_GGX( const in IncidentLight incidentLight, const in GeometricContext geometry, const in vec3 specularColor, const in float roughness ) {\n\tfloat alpha = pow2( roughness );\n\tvec3 halfDir = normalize( incidentLight.direction + geometry.viewDir );\n\tfloat dotNL = saturate( dot( geometry.normal, incidentLight.direction ) );\n\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\n\tfloat dotNH = saturate( dot( geometry.normal, halfDir ) );\n\tfloat dotLH = saturate( dot( incidentLight.direction, halfDir ) );\n\tvec3 F = F_Schlick( specularColor, dotLH );
16\n\tfloat G = G_GGX_SmithCorrelated( alpha, dotNL, dotNV );\n\tfloat D = D_GGX( alpha, dotNH );\n\treturn F * ( G * D );\n}\nvec2 LTC_Uv( const in vec3 N, const in vec3 V, const in float roughness ) {\n\tconst float LUT_SIZE = 64.0;\n\tconst float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE;\n\tconst float LUT_BIAS = 0.5 / LUT_SIZE;\n\tfloat theta = acos( dot( N, V ) );\n\tvec2 uv = vec2(\n\t\tsqrt( saturate( roughness ) ),\n\t\tsaturate( theta / ( 0.5 * PI ) ) );\n\tuv = uv * LUT_SCALE + LUT_BIAS;\n\treturn uv;\n}\nfloat LTC_ClippedSphereFormFactor( const in vec3 f ) {\n\tfloat l = length( f );\n\treturn max( ( l * l + f.z ) / ( l + 1.0 ), 0.0 );\n}\nvec3 LTC_EdgeVectorFormFactor( const in vec3 v1, const in vec3 v2 ) {\n\tfloat x = dot( v1, v2 );\n\tfloat y = abs( x );\n\tfloat a = 0.86267 + (0.49788 + 0.01436 * y ) * y;\n\tfloat b = 3.45068 + (4.18814 + y) * y;\n\tfloat v = a / b;\n\tfloat theta_sintheta = (x > 0.0) ? v : 0.5 * inversesqrt( 1.0 - x * x ) - 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 * transpose( 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\tvec3 result = vec3( LTC_ClippedSphereFormFactor( vectorFormFactor ) );\n\treturn result;\n}\nvec3 BRDF_Specular_GGX_Environment( const in GeometricContext geometry, const in vec3 specularColor, const in float roughness ) {\n\tfloat dotNV = saturate( dot( geometry.normal, geometry.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 AB = vec2( -1.04, 1.04 ) * a004 + r.zw;\n\treturn specularColor * AB.x + AB.y;\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_Specular_BlinnPhong( const in IncidentLight incidentLight, const in GeometricContext geometry, const in vec3 specularColor, const in float shininess ) {\n\tvec3 halfDir = normalize( incidentLight.direction + geometry.viewDir );\n\tfloat dotNH = saturate( dot( geometry.normal, halfDir ) );\n\tfloat dotLH = saturate( dot( incidentLight.direction, halfDir ) );\n\tvec3 F = F_Schlick( specularColor, dotLH );\n\tfloat G = G_BlinnPhong_Implicit( );\n\tfloat D = D_BlinnPhong( shininess, dotNH );\n\treturn F * ( G * D );\n}\nfloat GGXRoughnessToBlinnExponent( const in float ggxRoughness ) {\n\treturn ( 2.0 / pow2( ggxRoughness + 0.0001 ) - 2.0 );\n}\nfloat BlinnExponentToGGXRoughness( const in float blinnExponent ) {\n\treturn sqrt( 2.0 / ( blinnExponent + 2.0 ) );\n}\n",Hs="#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}
16\n\tvec3 perturbNormalArb( vec3 surf_pos, vec3 surf_norm, vec2 dHdxy ) {\n\t\tvec3 vSigmaX = dFdx( surf_pos );\n\t\tvec3 vSigmaY = dFdy( surf_pos );\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 );\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\n",Fs="#if NUM_CLIPPING_PLANES > 0\n\tfor ( int i = 0; i < UNION_CLIPPING_PLANES; ++ i ) {\n\t\tvec4 plane = clippingPlanes[ i ];\n\t\tif ( dot( vViewPosition, plane.xyz ) > plane.w ) discard;\n\t}\n\t\t\n\t#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES\n\t\tbool clipped = true;\n\t\tfor ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; ++ i ) {\n\t\t\tvec4 plane = clippingPlanes[ i ];\n\t\t\tclipped = ( dot( vViewPosition, plane.xyz ) > plane.w ) && clipped;\n\t\t}\n\t\tif ( clipped ) discard;\n\t\n\t#endif\n#endif\n",zs="#if NUM_CLIPPING_PLANES > 0\n\t#if ! defined( PHYSICAL ) && ! defined( PHONG )\n\t\tvarying vec3 vViewPosition;\n\t#endif\n\tuniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ];\n#endif\n",js="#if NUM_CLIPPING_PLANES > 0 && ! defined( PHYSICAL ) && ! defined( PHONG )\n\tvarying vec3 vViewPosition;\n#endif\n",Xs="#if NUM_CLIPPING_PLANES > 0 && ! defined( PHYSICAL ) && ! defined( PHONG )\n\tvViewPosition = - mvPosition.xyz;\n#endif\n",Ws="#ifdef USE_COLOR\n\tdiffuseColor.rgb *= vColor;\n#endif",Ys="#ifdef USE_COLOR\n\tvarying vec3 vColor;\n#endif\n",Ks="#ifdef USE_COLOR\n\tvarying vec3 vColor;\n#endif",Zs="#ifdef USE_COLOR\n\tvColor.xyz = color.xyz;\n#endif",qs="#define PI 3.14159265359\n#define PI2 6.28318530718\n#define PI_HALF 1.5707963267949\n#define RECIPROCAL_PI 0.31830988618\n#define RECIPROCAL_PI2 0.15915494\n#define LOG2 1.442695\n#define EPSILON 1e-6\n#define saturate(a) clamp( a, 0.0, 1.0 )\n#define whiteCompliment(a) ( 1.0 - saturate( a ) )\nfloat pow2( const in float x ) { return x*x; }\nfloat pow3( const in float x ) { return x*x*x; }\nfloat pow4( const in float x ) { float x2 = x*x; return x2*x2; }\nfloat 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}\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};\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}\nvec3 projectOnPlane(in vec3 point, in vec3 pointOnPlane, in vec3 planeNormal ) {\n\tfloat distance = dot( planeNormal, point - pointOnPlane );\n\treturn - distance * planeNormal + point;\n}\nfloat sideOfPlane( in vec3 point, in vec3 pointOnPlane, in vec3 planeNormal ) {\n\treturn sign( dot( point - pointOnPlane, planeNormal ) );\n}\nvec3 linePlaneIntersect( in vec3 pointOnLine, in vec3 lineDirection, in vec3 pointOnPlane, in vec3 planeNormal ) {\n\treturn lineDirection * ( dot( planeNormal, pointOnPlane - pointOnLine ) / dot( planeNormal, lineDirection ) ) + pointOnLine;\n}\nmat3 transpose( const in mat3 v ) {\n\tmat3 tmp;\n\ttmp[0] = vec3(v[0].x, v[1].x, v[2].x);\n\ttmp[1] = vec3(v[0].y, v[1].y, v[2].y);\n\ttmp[2] = vec3(v[0].z, v[1].z, v[2].z);\n\treturn tmp;\n}\n",Qs="#ifdef ENVMAP_TYPE_CUBE_UV\n#define cubeUV_textureSize (1024.0)\nint getFaceFromDirection(vec3 direction) {\n\tvec3 absDirection = abs(direction);\n\tint face = -1;\n\tif( absDirection.x > absDirection.z ) {\n\t\tif(absDirection.x > absDirection.y )\n\t\t\tface = direction.x > 0.0 ? 0 : 3;\n\t\telse\n\t\t\tface = direction.y > 0.0 ? 1 : 4;\n\t}\n\telse {\n\t\tif(absDirection.z > absDirection.y )\n\t\t\tface = direction.z > 0.0 ? 2 : 5;\n\t\telse\n\t\t\tface = direction.y > 0.0 ? 1 : 4;\n\t}\n\treturn face;\n}\n#define cubeUV_maxLods1 (log2(cubeUV_textureSize*0.25) - 1.0)\n#define cubeUV_rangeClamp (exp2((6.0 - 1.0) * 2.0))\nvec2 MipLevelInfo( vec3 vec, float roughnessLevel, float roughness ) {\n\tfloat scale = exp2(cubeUV_maxLods1 - roughnessLevel);\n\tfloat dxRoughness = dFdx(roughness);\n\tfloat dyRoughness = dFdy(roughness);\n\tvec3 dx = dFdx( vec * scale * dxRoughness );\n\tvec3 dy = dFdy( vec * scale * dyRoughness );\n\tfloat d = max( dot( dx, dx ), dot( dy, dy ) );\n\td = clamp(d, 1.0, cubeUV_rangeClamp);
16\n\tfloat mipLevel = 0.5 * log2(d);\n\treturn vec2(floor(mipLevel), fract(mipLevel));\n}\n#define cubeUV_maxLods2 (log2(cubeUV_textureSize*0.25) - 2.0)\n#define cubeUV_rcpTextureSize (1.0 / cubeUV_textureSize)\nvec2 getCubeUV(vec3 direction, float roughnessLevel, float mipLevel) {\n\tmipLevel = roughnessLevel > cubeUV_maxLods2 - 3.0 ? 0.0 : mipLevel;\n\tfloat a = 16.0 * cubeUV_rcpTextureSize;\n\tvec2 exp2_packed = exp2( vec2( roughnessLevel, mipLevel ) );\n\tvec2 rcp_exp2_packed = vec2( 1.0 ) / exp2_packed;\n\tfloat powScale = exp2_packed.x * exp2_packed.y;\n\tfloat scale = rcp_exp2_packed.x * rcp_exp2_packed.y * 0.25;\n\tfloat mipOffset = 0.75*(1.0 - rcp_exp2_packed.y) * rcp_exp2_packed.x;\n\tbool bRes = mipLevel == 0.0;\n\tscale = bRes && (scale < a) ? a : scale;\n\tvec3 r;\n\tvec2 offset;\n\tint face = getFaceFromDirection(direction);\n\tfloat rcpPowScale = 1.0 / powScale;\n\tif( face == 0) {\n\t\tr = vec3(direction.x, -direction.z, direction.y);\n\t\toffset = vec2(0.0+mipOffset,0.75 * rcpPowScale);\n\t\toffset.y = bRes && (offset.y < 2.0*a) ? a : offset.y;\n\t}\n\telse if( face == 1) {\n\t\tr = vec3(direction.y, direction.x, direction.z);\n\t\toffset = vec2(scale+mipOffset, 0.75 * rcpPowScale);\n\t\toffset.y = bRes && (offset.y < 2.0*a) ? a : offset.y;\n\t}\n\telse if( face == 2) {\n\t\tr = vec3(direction.z, direction.x, direction.y);\n\t\toffset = vec2(2.0*scale+mipOffset, 0.75 * rcpPowScale);\n\t\toffset.y = bRes && (offset.y < 2.0*a) ? a : offset.y;\n\t}\n\telse if( face == 3) {\n\t\tr = vec3(direction.x, direction.z, direction.y);\n\t\toffset = vec2(0.0+mipOffset,0.5 * rcpPowScale);\n\t\toffset.y = bRes && (offset.y < 2.0*a) ? 0.0 : offset.y;\n\t}\n\telse if( face == 4) {\n\t\tr = vec3(direction.y, direction.x, -direction.z);\n\t\toffset = vec2(scale+mipOffset, 0.5 * rcpPowScale);\n\t\toffset.y = bRes && (offset.y < 2.0*a) ? 0.0 : offset.y;\n\t}\n\telse {\n\t\tr = vec3(direction.z, -direction.x, direction.y);\n\t\toffset = vec2(2.0*scale+mipOffset, 0.5 * rcpPowScale);\n\t\toffset.y = bRes && (offset.y < 2.0*a) ? 0.0 : offset.y;\n\t}\n\tr = normalize(r);\n\tfloat texelOffset = 0.5 * cubeUV_rcpTextureSize;\n\tvec2 s = ( r.yz / abs( r.x ) + vec2( 1.0 ) ) * 0.5;\n\tvec2 base = offset + vec2( texelOffset );\n\treturn base + s * ( scale - 2.0 * texelOffset );\n}\n#define cubeUV_maxLods3 (log2(cubeUV_textureSize*0.25) - 3.0)\nvec4 textureCubeUV(vec3 reflectedDirection, float roughness ) {\n\tfloat roughnessVal = roughness* cubeUV_maxLods3;\n\tfloat r1 = floor(roughnessVal);\n\tfloat r2 = r1 + 1.0;\n\tfloat t = fract(roughnessVal);\n\tvec2 mipInfo = MipLevelInfo(reflectedDirection, r1, roughness);\n\tfloat s = mipInfo.y;\n\tfloat level0 = mipInfo.x;\n\tfloat level1 = level0 + 1.0;\n\tlevel1 = level1 > 5.0 ? 5.0 : level1;\n\tlevel0 += min( floor( s + 0.5 ), 5.0 );\n\tvec2 uv_10 = getCubeUV(reflectedDirection, r1, level0);\n\tvec4 color10 = envMapTexelToLinear(texture2D(envMap, uv_10));\n\tvec2 uv_20 = getCubeUV(reflectedDirection, r2, level0);\n\tvec4 color20 = envMapTexelToLinear(texture2D(envMap, uv_20));\n\tvec4 result = mix(color10, color20, t);\n\treturn vec4(result.rgb, 1.0);\n}\n#endif\n",Js="#ifdef FLIP_SIDED\n\tobjectNormal = -objectNormal;\n#endif\nvec3 transformedNormal = normalMatrix * objectNormal;\n",$s="#ifdef USE_DISPLACEMENTMAP\n\tuniform sampler2D displacementMap;\n\tuniform float displacementScale;\n\tuniform float displacementBias;\n#endif\n",tl="#ifdef USE_DISPLACEMENTMAP\n\ttransformed += normal * ( texture2D( displacementMap, uv ).x * displacementScale + displacementBias );\n#endif\n",el="#ifdef USE_EMISSIVEMAP\n\tvec4 emissiveColor = texture2D( emissiveMap, vUv );\n\temissiveColor.rgb = emissiveMapTexelToLinear( emissiveColor ).rgb;\n\ttotalEmissiveRadiance *= emissiveColor.rgb;\n#endif\n",nl="#ifdef USE_EMISSIVEMAP\n\tuniform sampler2D emissiveMap;\n#endif\n",il=" gl_FragColor = linearToOutputTexel( gl_FragColor );\n",rl="\nvec4 LinearToLinear( in vec4 value ) {\n\treturn value;\n}\nvec4 GammaToLinear( in vec4 value, in float gammaFactor ) {\n\treturn vec4( pow( value.xyz, vec3( gammaFactor ) ), value.w );\n}\nvec4 LinearToGamma( in vec4 value, in float gammaFactor ) {\n\treturn vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );\n}\nvec4 sRGBToLinear( in vec4 value ) {\n\treturn vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.w );\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.w );\n}\nvec4 RGBEToLinear( in vec4 value ) {\n\treturn vec4( value.rgb * exp2( value.a * 255.0 - 128.0 ), 1.0 );\n}
16\nvec4 LinearToRGBE( in vec4 value ) {\n\tfloat maxComponent = max( max( value.r, value.g ), value.b );\n\tfloat fExp = clamp( ceil( log2( maxComponent ) ), -128.0, 127.0 );\n\treturn vec4( value.rgb / exp2( fExp ), ( fExp + 128.0 ) / 255.0 );\n}\nvec4 RGBMToLinear( in vec4 value, in float maxRange ) {\n\treturn vec4( value.xyz * value.w * maxRange, 1.0 );\n}\nvec4 LinearToRGBM( in vec4 value, in float maxRange ) {\n\tfloat maxRGB = max( value.x, max( value.g, value.b ) );\n\tfloat M = clamp( maxRGB / maxRange, 0.0, 1.0 );\n\tM = ceil( M * 255.0 ) / 255.0;\n\treturn vec4( value.rgb / ( M * maxRange ), M );\n}\nvec4 RGBDToLinear( in vec4 value, in float maxRange ) {\n\treturn vec4( value.rgb * ( ( maxRange / 255.0 ) / value.a ), 1.0 );\n}\nvec4 LinearToRGBD( in vec4 value, in float maxRange ) {\n\tfloat maxRGB = max( value.x, max( value.g, value.b ) );\n\tfloat D = max( maxRange / maxRGB, 1.0 );\n\tD = min( floor( D ) / 255.0, 1.0 );\n\treturn vec4( value.rgb * ( D * ( 255.0 / maxRange ) ), D );\n}\nconst mat3 cLogLuvM = mat3( 0.2209, 0.3390, 0.4184, 0.1138, 0.6780, 0.7319, 0.0102, 0.1130, 0.2969 );\nvec4 LinearToLogLuv( in vec4 value ) {\n\tvec3 Xp_Y_XYZp = value.rgb * cLogLuvM;\n\tXp_Y_XYZp = max(Xp_Y_XYZp, vec3(1e-6, 1e-6, 1e-6));\n\tvec4 vResult;\n\tvResult.xy = Xp_Y_XYZp.xy / Xp_Y_XYZp.z;\n\tfloat Le = 2.0 * log2(Xp_Y_XYZp.y) + 127.0;\n\tvResult.w = fract(Le);\n\tvResult.z = (Le - (floor(vResult.w*255.0))/255.0)/255.0;\n\treturn vResult;\n}\nconst mat3 cLogLuvInverseM = mat3( 6.0014, -2.7008, -1.7996, -1.3320, 3.1029, -5.7721, 0.3008, -1.0882, 5.6268 );\nvec4 LogLuvToLinear( in vec4 value ) {\n\tfloat Le = value.z * 255.0 + value.w;\n\tvec3 Xp_Y_XYZp;\n\tXp_Y_XYZp.y = exp2((Le - 127.0) / 2.0);\n\tXp_Y_XYZp.z = Xp_Y_XYZp.y / value.y;\n\tXp_Y_XYZp.x = value.x * Xp_Y_XYZp.z;\n\tvec3 vRGB = Xp_Y_XYZp.rgb * cLogLuvInverseM;\n\treturn vec4( max(vRGB, 0.0), 1.0 );\n}\n",ol="#ifdef USE_ENVMAP\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\n\t\tvec3 cameraToVertex = normalize( vWorldPosition - cameraPosition );\n\t\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvec3 reflectVec = reflect( cameraToVertex, worldNormal );\n\t\t#else\n\t\t\tvec3 reflectVec = refract( cameraToVertex, 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, flipNormal * vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );\n\t#elif defined( ENVMAP_TYPE_EQUIREC )\n\t\tvec2 sampleUV;\n\t\tsampleUV.y = saturate( flipNormal * reflectVec.y * 0.5 + 0.5 );\n\t\tsampleUV.x = atan( flipNormal * reflectVec.z, flipNormal * reflectVec.x ) * RECIPROCAL_PI2 + 0.5;\n\t\tvec4 envColor = texture2D( envMap, sampleUV );\n\t#elif defined( ENVMAP_TYPE_SPHERE )\n\t\tvec3 reflectView = flipNormal * normalize( ( viewMatrix * vec4( reflectVec, 0.0 ) ).xyz + vec3( 0.0, 0.0, 1.0 ) );\n\t\tvec4 envColor = texture2D( envMap, reflectView.xy * 0.5 + 0.5 );\n\t#else\n\t\tvec4 envColor = vec4( 0.0 );\n\t#endif\n\tenvColor = envMapTexelToLinear( envColor );\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\n",al="#if defined( USE_ENVMAP ) || defined( PHYSICAL )\n\tuniform float reflectivity;\n\tuniform float envMapIntensity;\n#endif\n#ifdef USE_ENVMAP\n\t#if ! defined( PHYSICAL ) && ( defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) )\n\t\tvarying vec3 vWorldPosition;\n\t#endif\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tuniform samplerCube envMap;\n\t#else\n\t\tuniform sampler2D envMap;\n\t#endif\n\tuniform float flipEnvMap;\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( PHYSICAL )\n\t\tuniform float refractionRatio;\n\t#else\n\t\tvarying vec3 vReflect;\n\t#endif\n#endif\n",sl="#ifdef USE_ENVMAP\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\n\t\tvarying vec3 vWorldPosition;\n\t#else\n\t\tvarying vec3 vReflect;\n\t\tuniform float refractionRatio;\n\t#endif\n#endif\n",ll="#ifdef USE_ENVMAP\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\n\t\tvWorldPosition = worldPosition.xyz;
16\n\t#else\n\t\tvec3 cameraToVertex = normalize( worldPosition.xyz - cameraPosition );\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\n",hl="\n#ifdef USE_FOG\nfogDepth = -mvPosition.z;\n#endif",cl="#ifdef USE_FOG\n varying float fogDepth;\n#endif\n",ul="#ifdef USE_FOG\n\t#ifdef FOG_EXP2\n\t\tfloat fogFactor = whiteCompliment( exp2( - fogDensity * fogDensity * fogDepth * fogDepth * LOG2 ) );\n\t#else\n\t\tfloat fogFactor = smoothstep( fogNear, fogFar, fogDepth );\n\t#endif\n\tgl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor );\n#endif\n",pl="#ifdef USE_FOG\n\tuniform vec3 fogColor;\n\tvarying float fogDepth;\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\n",dl="#ifdef TOON\n\tuniform sampler2D gradientMap;\n\tvec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) {\n\t\tfloat dotNL = dot( normal, lightDirection );\n\t\tvec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 );\n\t\t#ifdef USE_GRADIENTMAP\n\t\t\treturn texture2D( gradientMap, coord ).rgb;\n\t\t#else\n\t\t\treturn ( coord.x < 0.7 ) ? vec3( 0.7 ) : vec3( 1.0 );\n\t\t#endif\n\t}\n#endif\n",fl="#ifdef USE_LIGHTMAP\n\treflectedLight.indirectDiffuse += PI * texture2D( lightMap, vUv2 ).xyz * lightMapIntensity;\n#endif\n",ml="#ifdef USE_LIGHTMAP\n\tuniform sampler2D lightMap;\n\tuniform float lightMapIntensity;\n#endif",gl="vec3 diffuse = vec3( 1.0 );\nGeometricContext geometry;\ngeometry.position = mvPosition.xyz;\ngeometry.normal = normalize( transformedNormal );\ngeometry.viewDir = normalize( -mvPosition.xyz );\nGeometricContext backGeometry;\nbackGeometry.position = geometry.position;\nbackGeometry.normal = -geometry.normal;\nbackGeometry.viewDir = geometry.viewDir;\nvLightFront = vec3( 0.0 );\n#ifdef DOUBLE_SIDED\n\tvLightBack = vec3( 0.0 );\n#endif\nIncidentLight directLight;\nfloat dotNL;\nvec3 directLightColor_Diffuse;\n#if NUM_POINT_LIGHTS > 0\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tgetPointDirectLightIrradiance( pointLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = PI * 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#endif\n#if NUM_SPOT_LIGHTS > 0\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tgetSpotDirectLightIrradiance( spotLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = PI * 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#endif\n#if NUM_DIR_LIGHTS > 0\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tgetDirectionalDirectLightIrradiance( directionalLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = PI * 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#endif\n#if NUM_HEMI_LIGHTS > 0\n\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\t\tvLightFront += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += getHemisphereLightIrradiance( hemisphereLights[ i ], backGeometry );\n\t\t#endif\n\t}\n#endif\n",vl="uniform vec3 ambientLightColor;\nvec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {\n\tvec3 irradiance = ambientLightColor;\n\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tirradiance *= PI;\n\t#endif\n\treturn irradiance;\n}\n#if NUM_DIR_LIGHTS > 0\n\tstruct DirectionalLight {\n\t\tvec3 direction;\n\t\tvec3 color;\n\t\tint shadow;\n\t\tfloat shadowBias;\n\t\tfloat shadowRadius;\n\t\tvec2 shadowMapSize;\n\t};\n\tuniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ];\n\tvoid getDirectionalDirectLightIrradiance( const in DirectionalLight directionalLight, const in GeometricContext geometry, out IncidentLight directLight ) {\n\t\tdirectLight.color = directionalLight.color;\n\t\tdirectLight.direction = directionalLight.direction;\n\t\tdirectLight.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\tint shadow;\n\t\tfloat shadowBias;\n\t\tfloat shadowRadius;\n\t\tvec2 shadowMapSize;\n\t};\n\tuniform PointLight pointLights[ NUM_POINT_LIGHTS ];\n\tvoid getPointDirectLightIrradiance( const in PointLight pointLight, const in GeometricContext geometry, out IncidentLight directLight ) {\n\t\tvec3 lVector = pointLight.position - geometry.position;\n\t\tdirectLight.direction = normalize( lVector );\n\t\tfloat lightDistance = length( lVector );\n\t\tdirectLight.color = pointLight.color;\n\t\tdirectLight.color *= punctualLightIntensityToIrradianceFactor( lightDistance, pointLight.distance, pointLight.decay );\n\t\tdirectLight.visible = ( directLight.color != vec3( 0.0 ) );\n\t}
16\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\tint shadow;\n\t\tfloat shadowBias;\n\t\tfloat shadowRadius;\n\t\tvec2 shadowMapSize;\n\t};\n\tuniform SpotLight spotLights[ NUM_SPOT_LIGHTS ];\n\tvoid getSpotDirectLightIrradiance( const in SpotLight spotLight, const in GeometricContext geometry, out IncidentLight directLight ) {\n\t\tvec3 lVector = spotLight.position - geometry.position;\n\t\tdirectLight.direction = normalize( lVector );\n\t\tfloat lightDistance = length( lVector );\n\t\tfloat angleCos = dot( directLight.direction, spotLight.direction );\n\t\tif ( angleCos > spotLight.coneCos ) {\n\t\t\tfloat spotEffect = smoothstep( spotLight.coneCos, spotLight.penumbraCos, angleCos );\n\t\t\tdirectLight.color = spotLight.color;\n\t\t\tdirectLight.color *= spotEffect * punctualLightIntensityToIrradianceFactor( lightDistance, spotLight.distance, spotLight.decay );\n\t\t\tdirectLight.visible = true;\n\t\t} else {\n\t\t\tdirectLight.color = vec3( 0.0 );\n\t\t\tdirectLight.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 ltcMat;\tuniform sampler2D ltcMag;\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 GeometricContext geometry ) {\n\t\tfloat dotNL = dot( geometry.normal, hemiLight.direction );\n\t\tfloat hemiDiffuseWeight = 0.5 * dotNL + 0.5;\n\t\tvec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight );\n\t\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\t\tirradiance *= PI;\n\t\t#endif\n\t\treturn irradiance;\n\t}\n#endif\n#if defined( USE_ENVMAP ) && defined( PHYSICAL )\n\tvec3 getLightProbeIndirectIrradiance( const in GeometricContext geometry, const in int maxMIPLevel ) {\n\t\tvec3 worldNormal = inverseTransformDirection( geometry.normal, viewMatrix );\n\t\t#ifdef ENVMAP_TYPE_CUBE\n\t\t\tvec3 queryVec = vec3( flipEnvMap * worldNormal.x, worldNormal.yz );\n\t\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\t\tvec4 envMapColor = textureCubeLodEXT( envMap, queryVec, float( maxMIPLevel ) );\n\t\t\t#else\n\t\t\t\tvec4 envMapColor = textureCube( envMap, queryVec, float( maxMIPLevel ) );\n\t\t\t#endif\n\t\t\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\n\t\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\t\t\tvec3 queryVec = vec3( flipEnvMap * worldNormal.x, worldNormal.yz );\n\t\t\tvec4 envMapColor = textureCubeUV( queryVec, 1.0 );\n\t\t#else\n\t\t\tvec4 envMapColor = vec4( 0.0 );\n\t\t#endif\n\t\treturn PI * envMapColor.rgb * envMapIntensity;\n\t}\n\tfloat getSpecularMIPLevel( const in float blinnShininessExponent, const in int maxMIPLevel ) {\n\t\tfloat maxMIPLevelScalar = float( maxMIPLevel );\n\t\tfloat desiredMIPLevel = maxMIPLevelScalar - 0.79248 - 0.5 * log2( pow2( blinnShininessExponent ) + 1.0 );\n\t\treturn clamp( desiredMIPLevel, 0.0, maxMIPLevelScalar );\n\t}\n\tvec3 getLightProbeIndirectRadiance( const in GeometricContext geometry, const in float blinnShininessExponent, const in int maxMIPLevel ) {\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvec3 reflectVec = reflect( -geometry.viewDir, geometry.normal );\n\t\t#else\n\t\t\tvec3 reflectVec = refract( -geometry.viewDir, geometry.normal, refractionRatio );\n\t\t#endif\n\t\treflectVec = inverseTransformDirection( reflectVec, viewMatrix );\n\t\tfloat specularMIPLevel = getSpecularMIPLevel( blinnShininessExponent, maxMIPLevel );\n\t\t#ifdef ENVMAP_TYPE_CUBE\n\t\t\tvec3 queryReflectVec = vec3( flipEnvMap * reflectVec.x, reflectVec.yz );\n\t\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\t\tvec4 envMapColor = textureCubeLodEXT( envMap, queryReflectVec, specularMIPLevel );\n\t\t\t#else\n\t\t\t\tvec4 envMapColor = textureCube( envMap, queryReflectVec, specularMIPLevel );\n\t\t\t#endif\n\t\t\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\n\t\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\t\t\tvec3 queryReflectVec = vec3( flipEnvMap * reflectVec.x, reflectVec.yz );\n\t\t\tvec4 envMapColor = textureCubeUV(queryReflectVec, BlinnExponentToGGXRoughness(blinnShinine
16ssExponent));\n\t\t#elif defined( ENVMAP_TYPE_EQUIREC )\n\t\t\tvec2 sampleUV;\n\t\t\tsampleUV.y = saturate( reflectVec.y * 0.5 + 0.5 );\n\t\t\tsampleUV.x = atan( reflectVec.z, reflectVec.x ) * RECIPROCAL_PI2 + 0.5;\n\t\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\t\tvec4 envMapColor = texture2DLodEXT( envMap, sampleUV, specularMIPLevel );\n\t\t\t#else\n\t\t\t\tvec4 envMapColor = texture2D( envMap, sampleUV, specularMIPLevel );\n\t\t\t#endif\n\t\t\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\n\t\t#elif defined( ENVMAP_TYPE_SPHERE )\n\t\t\tvec3 reflectView = normalize( ( viewMatrix * vec4( reflectVec, 0.0 ) ).xyz + vec3( 0.0,0.0,1.0 ) );\n\t\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\t\tvec4 envMapColor = texture2DLodEXT( envMap, reflectView.xy * 0.5 + 0.5, specularMIPLevel );\n\t\t\t#else\n\t\t\t\tvec4 envMapColor = texture2D( envMap, reflectView.xy * 0.5 + 0.5, specularMIPLevel );\n\t\t\t#endif\n\t\t\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\n\t\t#endif\n\t\treturn envMapColor.rgb * envMapIntensity;\n\t}\n#endif\n",yl="BlinnPhongMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;\nmaterial.specularColor = specular;\nmaterial.specularShininess = shininess;\nmaterial.specularStrength = specularStrength;\n",_l="varying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\nstruct BlinnPhongMaterial {\n\tvec3\tdiffuseColor;\n\tvec3\tspecularColor;\n\tfloat\tspecularShininess;\n\tfloat\tspecularStrength;\n};\n#if NUM_RECT_AREA_LIGHTS > 0\n\tvoid RE_Direct_RectArea_BlinnPhong( const in RectAreaLight rectAreaLight, const in GeometricContext geometry, const in BlinnPhongMaterial 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 = BlinnExponentToGGXRoughness( material.specularShininess );\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\tfloat norm = texture2D( ltcMag, uv ).a;\n\t\tvec4 t = texture2D( ltcMat, uv );\n\t\tmat3 mInv = mat3(\n\t\t\tvec3( 1, 0, t.y ),\n\t\t\tvec3( 0, t.z, 0 ),\n\t\t\tvec3( t.w, 0, t.x )\n\t\t);\n\t\treflectedLight.directSpecular += lightColor * material.specularColor * norm * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords );\n\t\treflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1 ), rectCoords );\n\t}\n#endif\nvoid RE_Direct_BlinnPhong( const in IncidentLight directLight, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\t#ifdef TOON\n\t\tvec3 irradiance = getGradientIrradiance( geometry.normal, directLight.direction ) * directLight.color;\n\t#else\n\t\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\t\tvec3 irradiance = dotNL * directLight.color;\n\t#endif\n\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tirradiance *= PI;\n\t#endif\n\treflectedLight.directDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n\treflectedLight.directSpecular += irradiance * BRDF_Specular_BlinnPhong( directLight, geometry, 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_Diffuse_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_BlinnPhong\n#define RE_Direct_RectArea\t\tRE_Direct_RectArea_BlinnPhong\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_BlinnPhong\n#define Material_LightProbeLOD( material )\t(0)\n",bl="PhysicalMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor );\nmaterial.specularRoughness = clamp( roughnessFactor, 0.04, 1.0 );\n#ifdef STANDARD\n\tmaterial.specularColor = mix( vec3( DEFAULT_SPECULAR_COEFFICIENT ), diffuseColor.rgb, metalnessFactor );\n#else\n\tmaterial.specularColor = mix( vec3( MAXIMUM_SPECULAR_COEFFICIENT * pow2( reflectivity ) ), diffuseColor.rgb, metalnessFactor );\n\tmaterial.clearCoat = saturate( clearCoat );\tmaterial.clearCoatRoughness = clamp( clearCoatRoughness, 0.04, 1.0 );\n#endif\n",xl="struct PhysicalMaterial {\n\tvec3\tdiffuseColor;\n\tfloat\tspecularRoughness;\n\tvec3\tspecularColor;\n\t#ifndef STANDARD\n\t\tfloat clearCoat;\n\t\tfloat clearCoatRoughness;\n\t#endif\n};\n#define MAXIMUM_SPECULAR_COEFFICIENT 0.16\n#define DEFAULT_SPECULAR_COEFFICIENT 0.04\nfloat clearCoatDHRApprox( const in float roughness, const in float dotNL ) {\n\treturn DEFAULT_SPECULAR_COEFFICIENT + ( 1.0 - DEFAULT_SPECULAR_COEFFICIENT ) * ( pow( 1.0 - dotNL, 5.0 ) * pow( 1.0 - roughness, 2.0 ) );\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;
16\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.specularRoughness;\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\tfloat norm = texture2D( ltcMag, uv ).a;\n\t\tvec4 t = texture2D( ltcMat, uv );\n\t\tmat3 mInv = mat3(\n\t\t\tvec3( 1, 0, t.y ),\n\t\t\tvec3( 0, t.z, 0 ),\n\t\t\tvec3( t.w, 0, t.x )\n\t\t);\n\t\treflectedLight.directSpecular += lightColor * material.specularColor * norm * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords );\n\t\treflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1 ), 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#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tirradiance *= PI;\n\t#endif\n\t#ifndef STANDARD\n\t\tfloat clearCoatDHR = material.clearCoat * clearCoatDHRApprox( material.clearCoatRoughness, dotNL );\n\t#else\n\t\tfloat clearCoatDHR = 0.0;\n\t#endif\n\treflectedLight.directSpecular += ( 1.0 - clearCoatDHR ) * irradiance * BRDF_Specular_GGX( directLight, geometry, material.specularColor, material.specularRoughness );\n\treflectedLight.directDiffuse += ( 1.0 - clearCoatDHR ) * irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n\t#ifndef STANDARD\n\t\treflectedLight.directSpecular += irradiance * material.clearCoat * BRDF_Specular_GGX( directLight, geometry, vec3( DEFAULT_SPECULAR_COEFFICIENT ), material.clearCoatRoughness );\n\t#endif\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_Diffuse_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 clearCoatRadiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\t#ifndef STANDARD\n\t\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\n\t\tfloat dotNL = dotNV;\n\t\tfloat clearCoatDHR = material.clearCoat * clearCoatDHRApprox( material.clearCoatRoughness, dotNL );\n\t#else\n\t\tfloat clearCoatDHR = 0.0;\n\t#endif\n\treflectedLight.indirectSpecular += ( 1.0 - clearCoatDHR ) * radiance * BRDF_Specular_GGX_Environment( geometry, material.specularColor, material.specularRoughness );\n\t#ifndef STANDARD\n\t\treflectedLight.indirectSpecular += clearCoatRadiance * material.clearCoat * BRDF_Specular_GGX_Environment( geometry, vec3( DEFAULT_SPECULAR_COEFFICIENT ), material.clearCoatRoughness );\n\t#endif\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\n#define Material_BlinnShininessExponent( material ) GGXRoughnessToBlinnExponent( material.specularRoughness )\n#define Material_ClearCoat_BlinnShininessExponent( material ) GGXRoughnessToBlinnExponent( material.clearCoatRoughness )\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}\n",Al="\nGeometricContext geometry;\ngeometry.position = - vViewPosition;\ngeometry.normal = normal;\ngeometry.viewDir = normalize( vViewPosition );\nIncidentLight directLight;\n#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )\n\tPointLight pointLight;\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tpointLight = pointLights[ i ];\n\t\tgetPointDirectLightIrradiance( pointLight, geometry, directLight );\n\t\t#ifdef USE_SHADOWMAP\n\t\tdirectLight.color *= all( bvec2( pointLight.shadow, directLight.visible ) ) ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}
16\n#endif\n#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )\n\tSpotLight spotLight;\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tspotLight = spotLights[ i ];\n\t\tgetSpotDirectLightIrradiance( spotLight, geometry, directLight );\n\t\t#ifdef USE_SHADOWMAP\n\t\tdirectLight.color *= all( bvec2( spotLight.shadow, directLight.visible ) ) ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n#endif\n#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct )\n\tDirectionalLight directionalLight;\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tdirectionalLight = directionalLights[ i ];\n\t\tgetDirectionalDirectLightIrradiance( directionalLight, geometry, directLight );\n\t\t#ifdef USE_SHADOWMAP\n\t\tdirectLight.color *= all( bvec2( directionalLight.shadow, directLight.visible ) ) ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n#endif\n#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )\n\tRectAreaLight rectAreaLight;\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#endif\n#if defined( RE_IndirectDiffuse )\n\tvec3 irradiance = getAmbientLightIrradiance( ambientLightColor );\n\t#ifdef USE_LIGHTMAP\n\t\tvec3 lightMapIrradiance = texture2D( lightMap, vUv2 ).xyz * lightMapIntensity;\n\t\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\t\tlightMapIrradiance *= PI;\n\t\t#endif\n\t\tirradiance += lightMapIrradiance;\n\t#endif\n\t#if ( NUM_HEMI_LIGHTS > 0 )\n\t\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\t\t\tirradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );\n\t\t}\n\t#endif\n\t#if defined( USE_ENVMAP ) && defined( PHYSICAL ) && defined( ENVMAP_TYPE_CUBE_UV )\n\t\tirradiance += getLightProbeIndirectIrradiance( geometry, 8 );\n\t#endif\n\tRE_IndirectDiffuse( irradiance, geometry, material, reflectedLight );\n#endif\n#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )\n\tvec3 radiance = getLightProbeIndirectRadiance( geometry, Material_BlinnShininessExponent( material ), 8 );\n\t#ifndef STANDARD\n\t\tvec3 clearCoatRadiance = getLightProbeIndirectRadiance( geometry, Material_ClearCoat_BlinnShininessExponent( material ), 8 );\n\t#else\n\t\tvec3 clearCoatRadiance = vec3( 0.0 );\n\t#endif\n\tRE_IndirectSpecular( radiance, clearCoatRadiance, geometry, material, reflectedLight );\n#endif\n",wl="#if defined(USE_LOGDEPTHBUF) && defined(USE_LOGDEPTHBUF_EXT)\n\tgl_FragDepthEXT = log2(vFragDepth) * logDepthBufFC * 0.5;\n#endif",El="#ifdef USE_LOGDEPTHBUF\n\tuniform float logDepthBufFC;\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvarying float vFragDepth;\n\t#endif\n#endif\n",Tl="#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvarying float vFragDepth;\n\t#endif\n\tuniform float logDepthBufFC;\n#endif",Sl="#ifdef USE_LOGDEPTHBUF\n\tgl_Position.z = log2(max( EPSILON, gl_Position.w + 1.0 )) * logDepthBufFC;\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvFragDepth = 1.0 + gl_Position.w;\n\t#else\n\t\tgl_Position.z = (gl_Position.z - 1.0) * gl_Position.w;\n\t#endif\n#endif\n",Ml="#ifdef USE_MAP\n\tvec4 texelColor = texture2D( map, vUv );\n\ttexelColor = mapTexelToLinear( texelColor );\n\tdiffuseColor *= texelColor;\n#endif\n",Cl="#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif\n",Pl="#ifdef USE_MAP\n\tvec4 mapTexel = texture2D( map, vec2( gl_PointCoord.x, 1.0 - gl_PointCoord.y ) * offsetRepeat.zw + offsetRepeat.xy );\n\tdiffuseColor *= mapTexelToLinear( mapTexel );\n#endif\n",Ll="#ifdef USE_MAP\n\tuniform vec4 offsetRepeat;\n\tuniform sampler2D map;\n#endif\n",Rl="float metalnessFactor = metalness;\n#ifdef USE_METALNESSMAP\n\tvec4 texelMetalness = texture2D( metalnessMap, vUv );\n\tmetalnessFactor *= texelMetalness.b;\n#endif\n",Nl="#ifdef USE_METALNESSMAP\n\tuniform sampler2D metalnessMap;\n#endif",Ol="#ifdef USE_MORPHNORMALS\n\tobjectNormal += ( morphNormal0 - normal ) * morphTargetInfluences[ 0 ];\n\tobjectNormal += ( morphNormal1 - normal ) * morphTargetInfluences[ 1 ];\n\tobjectNormal += ( morphNormal2 - normal ) * morphTargetInfluences[ 2 ];\n\tobjectNormal += ( morphNormal3 - normal ) * morphTargetInfluences[ 3 ];\n#endif\n",Il="#ifdef USE_MORPHTARGETS\n\t#ifndef USE_MORPHNORMALS\n\tuniform float morphTargetInfluences[ 8 ];\n\t#else\n\tuniform float morphTargetInfluences[ 4 ];
16\n\t#endif\n#endif",Dl="#ifdef USE_MORPHTARGETS\n\ttransformed += ( morphTarget0 - position ) * morphTargetInfluences[ 0 ];\n\ttransformed += ( morphTarget1 - position ) * morphTargetInfluences[ 1 ];\n\ttransformed += ( morphTarget2 - position ) * morphTargetInfluences[ 2 ];\n\ttransformed += ( morphTarget3 - position ) * morphTargetInfluences[ 3 ];\n\t#ifndef USE_MORPHNORMALS\n\ttransformed += ( morphTarget4 - position ) * morphTargetInfluences[ 4 ];\n\ttransformed += ( morphTarget5 - position ) * morphTargetInfluences[ 5 ];\n\ttransformed += ( morphTarget6 - position ) * morphTargetInfluences[ 6 ];\n\ttransformed += ( morphTarget7 - position ) * morphTargetInfluences[ 7 ];\n\t#endif\n#endif\n",Bl="#ifdef DOUBLE_SIDED\n\tfloat flipNormal = ( float( gl_FrontFacing ) * 2.0 - 1.0 );\n#else\n\tfloat flipNormal = 1.0;\n#endif\n",Ul="#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 ) * flipNormal;\n#endif\n#ifdef USE_NORMALMAP\n\tnormal = perturbNormal2Arb( -vViewPosition, normal );\n#elif defined( USE_BUMPMAP )\n\tnormal = perturbNormalArb( -vViewPosition, normal, dHdxy_fwd() );\n#endif\n",Vl="#ifdef USE_NORMALMAP\n\tuniform sampler2D normalMap;\n\tuniform vec2 normalScale;\n\tvec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm ) {\n\t\tvec3 q0 = dFdx( eye_pos.xyz );\n\t\tvec3 q1 = dFdy( eye_pos.xyz );\n\t\tvec2 st0 = dFdx( vUv.st );\n\t\tvec2 st1 = dFdy( vUv.st );\n\t\tvec3 S = normalize( q0 * st1.t - q1 * st0.t );\n\t\tvec3 T = normalize( -q0 * st1.s + q1 * st0.s );\n\t\tvec3 N = normalize( surf_norm );\n\t\tvec3 mapN = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\n\t\tmapN.xy = normalScale * mapN.xy;\n\t\tmat3 tsn = mat3( S, T, N );\n\t\treturn normalize( tsn * mapN );\n\t}\n#endif\n",Gl="vec3 packNormalToRGB( const in vec3 normal ) {\n\treturn normalize( normal ) * 0.5 + 0.5;\n}\nvec3 unpackRGBToNormal( const in vec3 rgb ) {\n\treturn 1.0 - 2.0 * rgb.xyz;\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}\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}\n",kl="#ifdef PREMULTIPLIED_ALPHA\n\tgl_FragColor.rgb *= gl_FragColor.a;\n#endif\n",Hl="#ifdef USE_SKINNING\n\tvec4 mvPosition = modelViewMatrix * skinned;\n#else\n\tvec4 mvPosition = modelViewMatrix * vec4( transformed, 1.0 );\n#endif\ngl_Position = projectionMatrix * mvPosition;\n",Fl="#if defined( DITHERING )\n gl_FragColor.rgb = dithering( gl_FragColor.rgb );\n#endif\n",zl="#if defined( 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\n",jl="float roughnessFactor = roughness;\n#ifdef USE_ROUGHNESSMAP\n\tvec4 texelRoughness = texture2D( roughnessMap, vUv );\n\troughnessFactor *= texelRoughness.g;\n#endif\n",Xl="#ifdef USE_ROUGHNESSMAP\n\tuniform sampler2D roughnessMap;\n#endif",Wl="#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHTS > 0\n\t\tuniform sampler2D directionalShadowMap[ NUM_DIR_LIGHTS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHTS ];
16\n\t#endif\n\t#if NUM_SPOT_LIGHTS > 0\n\t\tuniform sampler2D spotShadowMap[ NUM_SPOT_LIGHTS ];\n\t\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHTS ];\n\t#endif\n\t#if NUM_POINT_LIGHTS > 0\n\t\tuniform sampler2D pointShadowMap[ NUM_POINT_LIGHTS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHTS ];\n\t#endif\n\tfloat texture2DCompare( sampler2D depths, vec2 uv, float compare ) {\n\t\treturn step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) );\n\t}\n\tfloat texture2DShadowLerp( sampler2D depths, vec2 size, vec2 uv, float compare ) {\n\t\tconst vec2 offset = vec2( 0.0, 1.0 );\n\t\tvec2 texelSize = vec2( 1.0 ) / size;\n\t\tvec2 centroidUV = floor( uv * size + 0.5 ) / size;\n\t\tfloat lb = texture2DCompare( depths, centroidUV + texelSize * offset.xx, compare );\n\t\tfloat lt = texture2DCompare( depths, centroidUV + texelSize * offset.xy, compare );\n\t\tfloat rb = texture2DCompare( depths, centroidUV + texelSize * offset.yx, compare );\n\t\tfloat rt = texture2DCompare( depths, centroidUV + texelSize * offset.yy, compare );\n\t\tvec2 f = fract( uv * size + 0.5 );\n\t\tfloat a = mix( lb, lt, f.y );\n\t\tfloat b = mix( rb, rt, f.y );\n\t\tfloat c = mix( a, b, f.x );\n\t\treturn c;\n\t}\n\tfloat getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) {\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\treturn (\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( dx0, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy, 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( 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 / 9.0 );\n\t\t#elif defined( SHADOWMAP_TYPE_PCF_SOFT )\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\treturn (\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy, shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#else\n\t\t\treturn texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z );\n\t\t#endif\n\t\t}\n\t\treturn 1.0;\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 ) {\n\t\tvec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) );\n\t\tvec3 lightToPosition = shadowCoord.xyz;\n\t\tvec3 bd3D = normalize( lightToPosition );\n\t\tfloat dp = ( length( lightToPosition ) - shadowBias ) / 1000.0;\n\t\t#if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT )\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\n",Yl="#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHTS > 0\n\t\tuniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHTS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHTS ];
16\n\t#endif\n\t#if NUM_SPOT_LIGHTS > 0\n\t\tuniform mat4 spotShadowMatrix[ NUM_SPOT_LIGHTS ];\n\t\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHTS ];\n\t#endif\n\t#if NUM_POINT_LIGHTS > 0\n\t\tuniform mat4 pointShadowMatrix[ NUM_POINT_LIGHTS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHTS ];\n\t#endif\n#endif\n",Kl="#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHTS > 0\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tvDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * worldPosition;\n\t}\n\t#endif\n\t#if NUM_SPOT_LIGHTS > 0\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tvSpotShadowCoord[ i ] = spotShadowMatrix[ i ] * worldPosition;\n\t}\n\t#endif\n\t#if NUM_POINT_LIGHTS > 0\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tvPointShadowCoord[ i ] = pointShadowMatrix[ i ] * worldPosition;\n\t}\n\t#endif\n#endif\n",Zl="float getShadowMask() {\n\tfloat shadow = 1.0;\n\t#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHTS > 0\n\tDirectionalLight directionalLight;\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tdirectionalLight = directionalLights[ i ];\n\t\tshadow *= bool( directionalLight.shadow ) ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t}\n\t#endif\n\t#if NUM_SPOT_LIGHTS > 0\n\tSpotLight spotLight;\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tspotLight = spotLights[ i ];\n\t\tshadow *= bool( spotLight.shadow ) ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\n\t}\n\t#endif\n\t#if NUM_POINT_LIGHTS > 0\n\tPointLight pointLight;\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tpointLight = pointLights[ i ];\n\t\tshadow *= bool( pointLight.shadow ) ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ] ) : 1.0;\n\t}\n\t#endif\n\t#endif\n\treturn shadow;\n}\n",ql="#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",Ql="#ifdef USE_SKINNING\n\tuniform mat4 bindMatrix;\n\tuniform mat4 bindMatrixInverse;\n\t#ifdef BONE_TEXTURE\n\t\tuniform sampler2D boneTexture;\n\t\tuniform int boneTextureSize;\n\t\tmat4 getBoneMatrix( const in float i ) {\n\t\t\tfloat j = i * 4.0;\n\t\t\tfloat x = mod( j, float( boneTextureSize ) );\n\t\t\tfloat y = floor( j / float( boneTextureSize ) );\n\t\t\tfloat dx = 1.0 / float( boneTextureSize );\n\t\t\tfloat dy = 1.0 / float( boneTextureSize );\n\t\t\ty = dy * ( y + 0.5 );\n\t\t\tvec4 v1 = texture2D( boneTexture, vec2( dx * ( x + 0.5 ), y ) );\n\t\t\tvec4 v2 = texture2D( boneTexture, vec2( dx * ( x + 1.5 ), y ) );\n\t\t\tvec4 v3 = texture2D( boneTexture, vec2( dx * ( x + 2.5 ), y ) );\n\t\t\tvec4 v4 = texture2D( boneTexture, vec2( dx * ( x + 3.5 ), y ) );\n\t\t\tmat4 bone = mat4( v1, v2, v3, v4 );\n\t\t\treturn bone;\n\t\t}\n\t#else\n\t\tuniform mat4 boneMatrices[ MAX_BONES ];\n\t\tmat4 getBoneMatrix( const in float i ) {\n\t\t\tmat4 bone = boneMatrices[ int(i) ];\n\t\t\treturn bone;\n\t\t}\n\t#endif\n#endif\n",Jl="#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\tskinned = bindMatrixInverse * skinned;\n#endif\n",$l="#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#endif\n",th="float specularStrength;\n#ifdef USE_SPECULARMAP\n\tvec4 texelSpecular = texture2D( specularMap, vUv );\n\tspecularStrength = texelSpecular.r;\n#else\n\tspecularStrength = 1.0;\n#endif",eh="#ifdef USE_SPECULARMAP\n\tuniform sampler2D specularMap;\n#endif",nh="#if defined( TONE_MAPPING )\n gl_FragColor.rgb = toneMapping( gl_FragColor.rgb );\n#endif\n",ih="#define saturate(a) clamp( a, 0.0, 1.0 )\nuniform float toneMappingExposure;
16\nuniform float toneMappingWhitePoint;\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}\n#define Uncharted2Helper( x ) max( ( ( x * ( 0.15 * x + 0.10 * 0.50 ) + 0.20 * 0.02 ) / ( x * ( 0.15 * x + 0.50 ) + 0.20 * 0.30 ) ) - 0.02 / 0.30, vec3( 0.0 ) )\nvec3 Uncharted2ToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\treturn saturate( Uncharted2Helper( color ) / Uncharted2Helper( vec3( toneMappingWhitePoint ) ) );\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}\n",rh="#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP ) || defined( USE_ALPHAMAP ) || defined( USE_EMISSIVEMAP ) || defined( USE_ROUGHNESSMAP ) || defined( USE_METALNESSMAP )\n\tvarying vec2 vUv;\n#endif",oh="#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP ) || defined( USE_ALPHAMAP ) || defined( USE_EMISSIVEMAP ) || defined( USE_ROUGHNESSMAP ) || defined( USE_METALNESSMAP )\n\tvarying vec2 vUv;\n\tuniform vec4 offsetRepeat;\n#endif\n",ah="#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP ) || defined( USE_ALPHAMAP ) || defined( USE_EMISSIVEMAP ) || defined( USE_ROUGHNESSMAP ) || defined( USE_METALNESSMAP )\n\tvUv = uv * offsetRepeat.zw + offsetRepeat.xy;\n#endif",sh="#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tvarying vec2 vUv2;\n#endif",lh="#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tattribute vec2 uv2;\n\tvarying vec2 vUv2;\n#endif",hh="#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tvUv2 = uv2;\n#endif",ch="#if defined( USE_ENVMAP ) || defined( PHONG ) || defined( PHYSICAL ) || defined( LAMBERT ) || defined ( USE_SHADOWMAP )\n\t#ifdef USE_SKINNING\n\t\tvec4 worldPosition = modelMatrix * skinned;\n\t#else\n\t\tvec4 worldPosition = modelMatrix * vec4( transformed, 1.0 );\n\t#endif\n#endif\n",uh="uniform samplerCube tCube;\nuniform float tFlip;\nuniform float opacity;\nvarying vec3 vWorldPosition;\n#include <common>\nvoid main() {\n\tgl_FragColor = textureCube( tCube, vec3( tFlip * vWorldPosition.x, vWorldPosition.yz ) );\n\tgl_FragColor.a *= opacity;\n}\n",ph="varying vec3 vWorldPosition;\n#include <common>\nvoid main() {\n\tvWorldPosition = transformDirection( position, modelMatrix );\n\t#include <begin_vertex>\n\t#include <project_vertex>\n}\n",dh="#if DEPTH_PACKING == 3200\n\tuniform float opacity;\n#endif\n#include <common>\n#include <packing>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( 1.0 );\n\t#if DEPTH_PACKING == 3200\n\t\tdiffuseColor.a = opacity;\n\t#endif\n\t#include <map_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <logdepthbuf_fragment>\n\t#if DEPTH_PACKING == 3200\n\t\tgl_FragColor = vec4( vec3( gl_FragCoord.z ), opacity );\n\t#elif DEPTH_PACKING == 3201\n\t\tgl_FragColor = packDepthToRGBA( gl_FragCoord.z );\n\t#endif\n}\n",fh="#include <common>\n#include <uv_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <skinbase_vertex>\n\t#include <begin_vertex>\n\t#include <displacementmap_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n}\n",mh="uniform vec3 lightPos;\nvarying vec4 vWorldPosition;\n#include <common>\n#include <packing>\n#include <clipping_planes_pars_fragment>\nvoid main () {\n\t#include <clipping_planes_fragment>\n\tgl_FragColor = packDepthToRGBA( length( vWorldPosition.xyz - lightPos.xyz ) / 1000.0 );\n}\n",gh="varying vec4 vWorldPosition;\n#include <common>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <skinbase_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <project_vertex>\n\t#include <worldpos_vertex>\n\t#include <clipping_planes_vertex>\n\tvWorldPosition = worldPosition;\n}\n",vh="uniform sampler2D tEquirect;\nuniform float tFlip;\nvarying vec3 vWorldPosition;\n#include <common>\nvoid main() {\n\tvec3 direction = normalize( vWorldPosition );\n\tvec2 sampleUV;
16\n\tsampleUV.y = saturate( tFlip * direction.y * -0.5 + 0.5 );\n\tsampleUV.x = atan( direction.z, direction.x ) * RECIPROCAL_PI2 + 0.5;\n\tgl_FragColor = texture2D( tEquirect, sampleUV );\n}\n",yh="varying vec3 vWorldPosition;\n#include <common>\nvoid main() {\n\tvWorldPosition = transformDirection( position, modelMatrix );\n\t#include <begin_vertex>\n\t#include <project_vertex>\n}\n",_h="uniform vec3 diffuse;\nuniform float opacity;\nuniform float dashSize;\nuniform float totalSize;\nvarying float vLineDistance;\n#include <common>\n#include <color_pars_fragment>\n#include <fog_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\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 <logdepthbuf_fragment>\n\t#include <color_fragment>\n\toutgoingLight = diffuseColor.rgb;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <premultiplied_alpha_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n}\n",bh="uniform float scale;\nattribute float lineDistance;\nvarying float vLineDistance;\n#include <common>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <color_vertex>\n\tvLineDistance = scale * lineDistance;\n\tvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\n\tgl_Position = projectionMatrix * mvPosition;\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <fog_vertex>\n}\n",xh="uniform vec3 diffuse;\nuniform float opacity;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include <common>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <uv2_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <envmap_pars_fragment>\n#include <fog_pars_fragment>\n#include <specularmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <specularmap_fragment>\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\t#ifdef USE_LIGHTMAP\n\t\treflectedLight.indirectDiffuse += texture2D( lightMap, vUv2 ).xyz * lightMapIntensity;\n\t#else\n\t\treflectedLight.indirectDiffuse += vec3( 1.0 );\n\t#endif\n\t#include <aomap_fragment>\n\treflectedLight.indirectDiffuse *= diffuseColor.rgb;\n\tvec3 outgoingLight = reflectedLight.indirectDiffuse;\n\t#include <normal_flip>\n\t#include <envmap_fragment>\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <premultiplied_alpha_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n}\n",Ah="#include <common>\n#include <uv_pars_vertex>\n#include <uv2_pars_vertex>\n#include <envmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <uv2_vertex>\n\t#include <color_vertex>\n\t#include <skinbase_vertex>\n\t#ifdef USE_ENVMAP\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <worldpos_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <envmap_vertex>\n\t#include <fog_vertex>\n}\n",wh="uniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\nvarying vec3 vLightFront;\n#ifdef DOUBLE_SIDED\n\tvarying vec3 vLightBack;\n#endif\n#include <common>\n#include <packing>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <uv2_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <envmap_pars_fragment>\n#include <bsdfs>\n#include <lights_pars>\n#include <fog_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <shadowmask_pars_fragment>\n#include <specularmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\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 <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <specularmap_fragment>\n\t#include <emissivemap_fragment>\n\treflectedLight.indirectDiffuse = getAmbientLightIrradiance( ambientLightColor );\n\t#include <lightmap_fragment>\n\treflectedLight.indirectDiffuse *= BRDF_Diffuse_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_Diffuse_Lambert( diffuseColor.rgb ) * getShadowMask();\n\t#include <aomap_fragment>\n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\t#include <normal_flip>\n\t#include <envmap_fragment>\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}\n",Eh="#define LAMBERT\nvarying vec3 vLightFront;\n#ifdef DOUBLE_SIDED\n\tvarying vec3 vLightBack;\n#endif\n#include <common>\n#include <uv_pars_vertex>\n#include <uv2_pars_vertex>\n#include <envmap_pars_vertex>\n#include <bsdfs>\n#include <lights_pars>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <shadowmap_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <uv2_vertex>\n\t#include <color_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <worldpos_vertex>\n\t#include <envmap_vertex>\n\t#include <lights_lambert_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}\n",Th="#define PHONG\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform vec3 specular;\nuniform float shininess;\nuniform float opacity;\n#include <common>\n#include <packing>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <uv2_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <envmap_pars_fragment>\n#include <gradientmap_pars_fragment>\n#include <fog_pars_fragment>\n#include <bsdfs>\n#include <lights_pars>\n#include <lights_phong_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <specularmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\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 <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <specularmap_fragment>\n\t#include <normal_flip>\n\t#include <normal_fragment>\n\t#include <emissivemap_fragment>\n\t#include <lights_phong_fragment>\n\t#include <lights_template>\n\t#include <aomap_fragment>\n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\n\t#include <envmap_fragment>\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}\n",Sh="#define PHONG\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include <common>\n#include <uv_pars_vertex>\n#include <uv2_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <envmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <shadowmap_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <uv2_vertex>\n\t#include <color_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n#endif\n\t#include <begin_vertex>\n\t#include <displacementmap_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\tvViewPosition = - mvPosition.xyz;\n\t#include <worldpos_vertex>\n\t#include <envmap_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}\n",Mh="#define PHYSICAL\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float roughness;\nuniform float metalness;\nuniform float opacity;\n#ifndef STANDARD\n\tuniform float clearCoat;\n\tuniform float clearCoatRoughness;\n#endif\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include <common>\n#include <packing>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <uv2_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <envmap_pars_fragment>\n#include <fog_pars_fragment>\n#include <bsdfs>\n#include <cube_uv_reflection_fragment>\n#include <lights_pars>\n#include <lights_physical_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <roughnessmap_pars_fragment>\n#include <metalnessmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\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 <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <specularmap_fragment>\n\t#include <roughnessmap_fragment>\n\t#include <metalnessmap_fragment>\n\t#include <normal_flip>\n\t#include <normal_fragment>\n\t#include <emissivemap_fragment>\n\t#include <lights_physical_fragment>\n\t#include <lights_template>\n\t#include <aomap_fragment>\n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}\n",Ch="#define PHYSICAL\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include <common>\n#include <uv_pars_vertex>\n#include <uv2_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <shadowmap_pars_vertex>\n#include <specularmap_pars_fragment>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <uv2_vertex>\n\t#include <color_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n#endif\n\t#include <begin_vertex>\n\t#include <displacementmap_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\tvViewPosition = - mvPosition.xyz;\n\t#include <worldpos_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}\n",Ph="#define NORMAL\nuniform float opacity;\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP )\n\tvarying vec3 vViewPosition;\n#endif\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include <packing>\n#include <uv_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\nvoid main() {\n\t#include <logdepthbuf_fragment>\n\t#include <normal_flip>\n\t#include <normal_fragment>\n\tgl_FragColor = vec4( packNormalToRGB( normal ), opacity );\n}\n",Lh="#define NORMAL\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP )\n\tvarying vec3 vViewPosition;\n#endif\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include <uv_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <logdepthbuf_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n#endif\n\t#include <begin_vertex>\n\t#include <displacementmap_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP )\n\tvViewPosition = - mvPosition.xyz;\n#endif\n}\n",Rh="uniform vec3 diffuse;\nuniform float opacity;\n#include <common>\n#include <packing>\n#include <color_pars_fragment>\n#include <map_particle_pars_fragment>\n#include <fog_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <logdepthbuf_fragment>\n\t#include <map_particle_fragment>\n\t#include <color_fragment>\n\t#include <alphatest_fragment>\n\toutgoingLight = diffuseColor.rgb;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <premultiplied_alpha_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n}\n",Nh="uniform float size;\nuniform float scale;\n#include <common>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <shadowmap_pars_vertex>\n
16#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <color_vertex>\n\t#include <begin_vertex>\n\t#include <project_vertex>\n\t#ifdef USE_SIZEATTENUATION\n\t\tgl_PointSize = size * ( scale / - mvPosition.z );\n\t#else\n\t\tgl_PointSize = size;\n\t#endif\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <worldpos_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}\n",Oh="uniform float opacity;\n#include <common>\n#include <packing>\n#include <bsdfs>\n#include <lights_pars>\n#include <shadowmap_pars_fragment>\n#include <shadowmask_pars_fragment>\nvoid main() {\n\tgl_FragColor = vec4( 0.0, 0.0, 0.0, opacity * ( 1.0 - getShadowMask() ) );\n}\n",Ih="#include <shadowmap_pars_vertex>\nvoid main() {\n\t#include <begin_vertex>\n\t#include <project_vertex>\n\t#include <worldpos_vertex>\n\t#include <shadowmap_vertex>\n}\n",Dh={ 17alphamap_fragment:Os,alphamap_pars_fragment:Is,alphatest_fragment:Ds,aomap_fragment:Bs,aomap_pars_fragment:Us,begin_vertex:Vs,beginnormal_vertex:Gs,bsdfs:ks,bumpmap_pars_fragment:Hs,clipping_planes_fragment:Fs,clipping_planes_pars_fragment:zs,clipping_planes_pars_vertex:js,clipping_planes_vertex:Xs,color_fragment:Ws,color_pars_fragment:Ys,color_pars_vertex:Ks,color_vertex:Zs,common:qs,cube_uv_reflection_fragment:Qs,defaultnormal_vertex:Js,displacementmap_pars_vertex:$s,displacementmap_vertex:tl,emissivemap_fragment:el,emissivemap_pars_fragment:nl,encodings_fragment:il,encodings_pars_fragment:rl,envmap_fragment:ol,envmap_pars_fragment:al,envmap_pars_vertex:sl,envmap_vertex:ll,fog_vertex:hl,fog_pars_vertex:cl,fog_fragment:ul,fog_pars_fragment:pl,gradientmap_pars_fragment:dl,lightmap_fragment:fl,lightmap_pars_fragment:ml,lights_lambert_vertex:gl,lights_pars:vl,lights_phong_fragment:yl,lights_phong_pars_fragment:_l,lights_physical_fragment:bl,lights_physical_pars_fragment:xl,lights_template:Al,logdepthbuf_fragment:wl,logdepthbuf_pars_fragment:El,logdepthbuf_pars_vertex:Tl,logdepthbuf_vertex:Sl,map_fragment:Ml,map_pars_fragment:Cl,map_particle_fragment:Pl,map_particle_pars_fragment:Ll,metalnessmap_fragment:Rl,metalnessmap_pars_fragment:Nl,morphnormal_vertex:Ol,morphtarget_pars_vertex:Il,morphtarget_vertex:Dl,normal_flip:Bl,normal_fragment:Ul,normalmap_pars_fragment:Vl,packing:Gl,premultiplied_alpha_fragment:kl,project_vertex:Hl,dithering_fragment:Fl,dithering_pars_fragment:zl,roughnessmap_fragment:jl,roughnessmap_pars_fragment:Xl,shadowmap_pars_fragment:Wl,shadowmap_pars_vertex:Yl,shadowmap_vertex:Kl,shadowmask_pars_fragment:Zl,skinbase_vertex:ql,skinning_pars_vertex:Ql,skinning_vertex:Jl,skinnormal_vertex:$l,specularmap_fragment:th,specularmap_pars_fragment:eh,tonemapping_fragment:nh,tonemapping_pars_fragment:ih,uv_pars_fragment:rh,uv_pars_vertex:oh,uv_vertex:ah,uv2_pars_fragment:sh,uv2_pars_vertex:lh,uv2_vertex:hh,worldpos_vertex:ch,cube_frag:uh,cube_vert:ph,depth_frag:dh,depth_vert:fh,distanceRGBA_frag:mh,distanceRGBA_vert:gh,equirect_frag:vh,equirect_vert:yh,linedashed_frag:_h,linedashed_vert:bh,meshbasic_frag:xh,meshbasic_vert:Ah,meshlambert_frag:wh,meshlambert_vert:Eh,meshphong_frag:Th,meshphong_vert:Sh,meshphysical_frag:Mh,meshphysical_vert:Ch,normal_frag:Ph,normal_vert:Lh,points_frag:Rh,points_vert:Nh,shadow_frag:Oh,shadow_vert:Ih},Bh={basic:{uniforms:Ns.merge([Rs.common,Rs.aomap,Rs.lightmap,Rs.fog]),vertexShader:Dh.meshbasic_vert,fragmentShader:Dh.meshbasic_frag},lambert:{uniforms:Ns.merge([Rs.common,Rs.aomap,Rs.lightmap,Rs.emissivemap,Rs.fog,Rs.lights,{emissive:{value:new W(0)}}]),vertexShader:Dh.meshlambert_vert,fragmentShader:Dh.meshlambert_frag},phong:{uniforms:Ns.merge([Rs.common,Rs.aomap,Rs.lightmap,Rs.emissivemap,Rs.bumpmap,Rs.normalmap,Rs.displacementmap,Rs.gradientmap,Rs.fog,Rs.lights,{emissive:{value:new W(0)},specular:{value:new W(1118481)},shininess:{value:30}}]),vertexShader:Dh.meshphong_vert,fragmentShader:Dh.meshphong_frag},standard:{uniforms:Ns.merge([Rs.common,Rs.aomap,Rs.lightmap,Rs.emissivemap,Rs.bumpmap,Rs.normalmap,Rs.displacementmap,Rs.roughnessmap,Rs.metalnessmap,Rs.fog,Rs.lights,{emissive:{value:new W(0)},roughness:{value:.5},metalness:{value:.5},envMapIntensity:{value:1}}]),vertexShader:Dh.meshphysical_vert,fragmentShader:Dh.meshphysical_frag}
17,points:{uniforms:Ns.merge([Rs.points,Rs.fog]),vertexShader:Dh.points_vert,fragmentShader:Dh.points_frag},dashed:{uniforms:Ns.merge([Rs.common,Rs.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:Dh.linedashed_vert,fragmentShader:Dh.linedashed_frag},depth:{uniforms:Ns.merge([Rs.common,Rs.displacementmap]),vertexShader:Dh.depth_vert,fragmentShader:Dh.depth_frag},normal:{uniforms:Ns.merge([Rs.common,Rs.bumpmap,Rs.normalmap,Rs.displacementmap,{opacity:{value:1}}]),vertexShader:Dh.normal_vert,fragmentShader:Dh.normal_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:Dh.cube_vert,fragmentShader:Dh.cube_frag},equirect:{uniforms:{tEquirect:{value:null},tFlip:{value:-1}},vertexShader:Dh.equirect_vert,fragmentShader:Dh.equirect_frag},distanceRGBA:{uniforms:{lightPos:{value:new l}},vertexShader:Dh.distanceRGBA_vert,fragmentShader:Dh.distanceRGBA_frag}};Bh.physical={uniforms:Ns.merge([Bh.standard.uniforms,{clearCoat:{value:0},clearCoatRoughness:{value:0}}]),vertexShader:Dh.meshphysical_vert,fragmentShader:Dh.meshphysical_frag},Object.assign(Y.prototype,{set:function(t,e){return this.min.copy(t),this.max.copy(e),this},setFromPoints:function(t){this.makeEmpty();for(var e=0,n=t.length;e<n;e++)this.expandByPoint(t[e]);return this},setFromCenterAndSize:function(){var t=new n;return function(e,n){var i=t.copy(n).multiplyScalar(.5);return this.min.copy(e).sub(i),this.max.copy(e).add(i),this}}(),clone:function(){return(new this.constructor).copy(this)},copy:function(t){return this.min.copy(t.min),this.max.copy(t.max),this},makeEmpty:function(){return this.min.x=this.min.y=+(1/0),this.max.x=this.max.y=-(1/0),this},isEmpty:function(){return this.max.x<this.min.x||this.max.y<this.min.y},getCenter:function(t){var e=t||new n;return this.isEmpty()?e.set(0,0):e.addVectors(this.min,this.max).multiplyScalar(.5)},getSize:function(t){var e=t||new n;return this.isEmpty()?e.set(0,0):e.subVectors(this.max,this.min)},expandByPoint:function(t){return this.min.min(t),this.max.max(t),this},expandByVector:function(t){return this.min.sub(t),this.max.add(t),this},expandByScalar:function(t){return this.min.addScalar(-t),this.max.addScalar(t),this},containsPoint:function(t){return!(t.x<this.min.x||t.x>this.max.x||t.y<this.min.y||t.y>this.max.y)},containsBox:function(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:function(t,e){var i=e||new n;return i.set((t.x-this.min.x)/(this.max.x-this.min.x),(t.y-this.min.y)/(this.max.y-this.min.y))},intersectsBox:function(t){return!(t.max.x<this.min.x||t.min.x>this.max.x||t.max.y<this.min.y||t.min.y>this.max.y)},clampPoint:function(t,e){var i=e||new n;return i.copy(t).clamp(this.min,this.max)},distanceToPoint:function(){var t=new n;return function(e){var n=t.copy(e).clamp(this.min,this.max);return n.sub(e).length()}}(),intersect:function(t){return this.min.max(t.min),this.max.min(t.max),this},union:function(t){return this.min.min(t.min),this.max.max(t.max),this},translate:function(t){return this.min.add(t),this.max.add(t),this},equals:function(t){return t.min.equals(this.min)&&t.max.equals(this.max)}});var Uh=0;Object.assign(q.prototype,e.prototype,{isMaterial:!0,setValues:function(t){if(void 0!==t)for(var e in t){var n=t[e];if(void 0!==n){var i=this[e];void 0!==i?i&&i.isColor?i.set(n):i&&i.isVector3&&n&&n.isVector3?i.copy(n):"overdraw"===e?this[e]=Number(n):this[e]=n:console.warn("THREE."+this.type+": '"+e+"' is not a property of this material.")}else console.warn("THREE.Material: '"+e+"' parameter is undefined.")}},toJSON:function(t){function e(t){var e=[];for(var n in t){var i=t[n];delete i.metadata,e.push(i)}return e}var n=void 0===t;n&&(t={textures:{},images:{}});var i={metadata:{version:4.5,type:"Material",generator:"Material.toJSON"}};
17if(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),this.emissive&&this.emissive.isColor&&(i.emissive=this.emissive.getHex()),this.specular&&this.specular.isColor&&(i.specular=this.specular.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.map&&this.map.isTexture&&(i.map=this.map.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),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.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.envMap&&this.envMap.isTexture&&(i.envMap=this.envMap.toJSON(t).uuid,i.reflectivity=this.reflectivity),this.gradientMap&&this.gradientMap.isTexture&&(i.gradientMap=this.gradientMap.toJSON(t).uuid),void 0!==this.size&&(i.size=this.size),void 0!==this.sizeAttenuation&&(i.sizeAttenuation=this.sizeAttenuation),this.blending!==Eo&&(i.blending=this.blending),this.shading!==_o&&(i.shading=this.shading),this.side!==mo&&(i.side=this.side),this.vertexColors!==bo&&(i.vertexColors=this.vertexColors),this.opacity<1&&(i.opacity=this.opacity),this.transparent===!0&&(i.transparent=this.transparent),i.depthFunc=this.depthFunc,i.depthTest=this.depthTest,i.depthWrite=this.depthWrite,this.alphaTest>0&&(i.alphaTest=this.alphaTest),this.premultipliedAlpha===!0&&(i.premultipliedAlpha=this.premultipliedAlpha),this.wireframe===!0&&(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),i.skinning=this.skinning,i.morphTargets=this.morphTargets,i.dithering=this.dithering,n){var r=e(t.textures),o=e(t.images);r.length>0&&(i.textures=r),o.length>0&&(i.images=o)}return i},clone:function(){return(new this.constructor).copy(this)},copy:function(t){this.name=t.name,this.fog=t.fog,this.lights=t.lights,this.blending=t.blending,this.side=t.side,this.shading=t.shading,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.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.premultipliedAlpha=t.premultipliedAlpha,this.overdraw=t.overdraw,this.visible=t.visible,this.clipShadows=t.clipShadows,this.clipIntersection=t.clipIntersection;var e=t.clippingPlanes,n=null;if(null!==e){var i=e.length;n=new Array(i);for(var r=0;r!==i;++r)n[r]=e[r].clone()}return this.clippingPlanes=n,this},dispose:function(){this.dispatchEvent({type:"dispose"})}}),Q.prototype=Object.create(q.prototype),Q.prototype.constructor=Q,Q.prototype.isShaderMaterial=!0,Q.prototype.copy=function(t){return q.prototype.copy.call(this,t),this.fragmentShader=t.fragmentShader,this.vertexShader=t.vertexShader,this.uniforms=Ns.clone(t.uniforms),this.defines=t.defines,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.lights=t.lights,this.clipping=t.clipping,this.skinning=t.skinning,this.morphTargets=t.morphTargets,this.morphNormals=t.morphNormals,this.extensions=t.extensions,this},Q.prototype.toJSON=function(t){var e=q.prototype.toJSON.call(this,t);return e.uniforms=this.uniforms,e.vertexShader=this.vertexShader,e.fragmentShader=this.fragmentShader,e},J.prototype=Object.create(q.prototype),J.prototype.constructor=J,J.prototype.isMeshDepthMaterial=!0,J.prototype.copy=function(t){return q.prototype.copy.call(this,t),this.depthPacking=t.depthPacking,this.skinning=t.skinning,this.morphTargets=t.morphTargets,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},Object.assign($.prototype,{isBox3:!0,set:function(t,e){return this.min.copy(t),this.max.copy(e),this},setFromArray:function(t){for(var e=+(1/0),n=+(1/0),i=+(1/0),r=-(1/0),o=-(1/0),a=-(1/0),s=0,l=t.length;s<l;s+=3){var h=t[s],c=t[s+1],u=t[s+2];h<e&&(e=h),c<n&&(n=c),u<i&&(i=u),h>r&&(r=h),c>o&&(o=c),u>a&&(a=u)}return this.min.set(e,n,i),this.max.set(r,o,a),this},setFromBufferAttribute:function(t){for(var e=+(1/0),n=+(1/0),i=+(1/0),r=-(1/0),o=-(1/0),a=-(1/0),s=0,l=t.count;s<l;s++){var h=t.getX(s),c=t.getY(s),u=t.getZ(s);h<e&&(e=h),c<n&&(n=c),u<i&&(i=u),h>r&&(r=h),c>o&&(o=c),u>a&&(a=u)}return this.min.set(e,n,i),this.max.set(r,o,a),this},setFromPoints:function(t){this.makeEmpty();for(var e=0,n=t.length;e<n;e++)this.expandByPoint(t[e]);return this},setFromCenterAndSize:function(){var t=new l;return function(e,n){var i=t.copy(n).multiplyScalar(.5);return this.min.copy(e).sub(i),this.max.copy(e).add(i),this}}(),setFromObject:function(t){return this.makeEmpty(),this.expandByObject(t)},clone:function(){return(new this.constructor).copy(this)},copy:function(t){return this.min.copy(t.min),this.max.copy(t.max),this},makeEmpty:function(){return this.min.x=this.min.y=this.min.z=+(1/0),this.max.x=this.max.y=this.max.z=-(1/0),this},isEmpty:function(){return this.max.x<this.min.x||this.max.y<this.min.y||this.max.z<this.min.z},getCenter:function(t){var e=t||new l;return this.isEmpty()?e.set(0,0,0):e.addVectors(this.min,this.max).multiplyScalar(.5)},getSize:function(t){var e=t||new l;return this.isEmpty()?e.set(0,0,0):e.subVectors(this.max,this.min)},expandByPoint:function(t){return this.min.min(t),this.max.max(t),this},expandByVector:function(t){return this.min.sub(t),this.max.add(t),this},expandByScalar:function(t){return this.min.addScalar(-t),this.max.addScalar(t),this},expandByObject:function(){var t=new l;return function(e){var n=this;return e.updateMatrixWorld(!0),e.traverse(function(e){var i,r,o=e.geometry;if(void 0!==o)if(o.isGeometry){var a=o.vertices;for(i=0,r=a.length;i<r;
17i++)t.copy(a[i]),t.applyMatrix4(e.matrixWorld),n.expandByPoint(t)}else if(o.isBufferGeometry){var s=o.attributes.position;if(void 0!==s)for(i=0,r=s.count;i<r;i++)t.fromBufferAttribute(s,i).applyMatrix4(e.matrixWorld),n.expandByPoint(t)}}),this}}(),containsPoint:function(t){return!(t.x<this.min.x||t.x>this.max.x||t.y<this.min.y||t.y>this.max.y||t.z<this.min.z||t.z>this.max.z)},containsBox:function(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:function(t,e){var n=e||new l;return n.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:function(t){return!(t.max.x<this.min.x||t.min.x>this.max.x||t.max.y<this.min.y||t.min.y>this.max.y||t.max.z<this.min.z||t.min.z>this.max.z)},intersectsSphere:function(){var t=new l;return function(e){return this.clampPoint(e.center,t),t.distanceToSquared(e.center)<=e.radius*e.radius}}(),intersectsPlane:function(t){var e,n;return t.normal.x>0?(e=t.normal.x*this.min.x,n=t.normal.x*this.max.x):(e=t.normal.x*this.max.x,n=t.normal.x*this.min.x),t.normal.y>0?(e+=t.normal.y*this.min.y,n+=t.normal.y*this.max.y):(e+=t.normal.y*this.max.y,n+=t.normal.y*this.min.y),t.normal.z>0?(e+=t.normal.z*this.min.z,n+=t.normal.z*this.max.z):(e+=t.normal.z*this.max.z,n+=t.normal.z*this.min.z),e<=t.constant&&n>=t.constant},clampPoint:function(t,e){var n=e||new l;return n.copy(t).clamp(this.min,this.max)},distanceToPoint:function(){var t=new l;return function(e){var n=t.copy(e).clamp(this.min,this.max);return n.sub(e).length()}}(),getBoundingSphere:function(){var t=new l;return function(e){var n=e||new tt;return this.getCenter(n.center),n.radius=.5*this.getSize(t).length(),n}}(),intersect:function(t){return this.min.max(t.min),this.max.min(t.max),this.isEmpty()&&this.makeEmpty(),this},union:function(t){return this.min.min(t.min),this.max.max(t.max),this},applyMatrix4:function(){var t=[new l,new l,new l,new l,new l,new l,new l,new l];return function(e){return this.isEmpty()?this:(t[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(e),t[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(e),t[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(e),t[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(e),t[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(e),t[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(e),t[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(e),t[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(e),this.setFromPoints(t),this)}}(),translate:function(t){return this.min.add(t),this.max.add(t),this},equals:function(t){return t.min.equals(this.min)&&t.max.equals(this.max)}}),Object.assign(tt.prototype,{set:function(t,e){return this.center.copy(t),this.radius=e,this},setFromPoints:function(){var t=new $;return function(e,n){var i=this.center;void 0!==n?i.copy(n):t.setFromPoints(e).getCenter(i);for(var r=0,o=0,a=e.length;o<a;o++)r=Math.max(r,i.distanceToSquared(e[o]));return this.radius=Math.sqrt(r),this}}(),clone:function(){return(new this.constructor).copy(this)},copy:function(t){return this.center.copy(t.center),this.radius=t.radius,this},empty:function(){return this.radius<=0},containsPoint:function(t){return t.distanceToSquared(this.center)<=this.radius*this.radius},distanceToPoint:function(t){return t.distanceTo(this.center)-this.radius},intersectsSphere:function(t){var e=this.radius+t.radius;return t.center.distanceToSquared(this.center)<=e*e},intersectsBox:function(t){return t.intersectsSphere(this)},intersectsPlane:function(t){return Math.abs(this.center.dot(t.normal)-t.constant)<=this.radius},clampPoint:function(t,e){var n=this.center.distanceToSquared(t),i=e||new l;return i.copy(t),n>this.radius*this.radius&&(i.sub(this.center).normalize(),i.multiplyScalar(this.radius).add(this.center)),i},getBoundingBox:function(t){var e=t||new $;return e.set(this.center,this.center),e.expandByScalar(this.radius),e},applyMatrix4:function(t){return this.center.applyMatrix4(t),this.radius=this.radius*t.getMaxScaleOnAxis(),this},translate:function(t){return this.center.add(t),this},equals:function(t){return t.center.equals(this.center)&&t.radiu
vendor: 4,125 bytes, line 17
17s===this.radius}}),Object.assign(et.prototype,{isMatrix3:!0,set:function(t,e,n,i,r,o,a,s,l){var h=this.elements;return h[0]=t,h[1]=i,h[2]=a,h[3]=e,h[4]=r,h[5]=s,h[6]=n,h[7]=o,h[8]=l,this},identity:function(){return this.set(1,0,0,0,1,0,0,0,1),this},clone:function(){return(new this.constructor).fromArray(this.elements)},copy:function(t){var e=this.elements,n=t.elements;return e[0]=n[0],e[1]=n[1],e[2]=n[2],e[3]=n[3],e[4]=n[4],e[5]=n[5],e[6]=n[6],e[7]=n[7],e[8]=n[8],this},setFromMatrix4:function(t){var 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},applyToBufferAttribute:function(){var t=new l;return function(e){for(var n=0,i=e.count;n<i;n++)t.x=e.getX(n),t.y=e.getY(n),t.z=e.getZ(n),t.applyMatrix3(this),e.setXYZ(n,t.x,t.y,t.z);return e}}(),multiply:function(t){return this.multiplyMatrices(this,t)},premultiply:function(t){return this.multiplyMatrices(t,this)},multiplyMatrices:function(t,e){var n=t.elements,i=e.elements,r=this.elements,o=n[0],a=n[3],s=n[6],l=n[1],h=n[4],c=n[7],u=n[2],p=n[5],d=n[8],f=i[0],m=i[3],g=i[6],v=i[1],y=i[4],_=i[7],b=i[2],x=i[5],A=i[8];return r[0]=o*f+a*v+s*b,r[3]=o*m+a*y+s*x,r[6]=o*g+a*_+s*A,r[1]=l*f+h*v+c*b,r[4]=l*m+h*y+c*x,r[7]=l*g+h*_+c*A,r[2]=u*f+p*v+d*b,r[5]=u*m+p*y+d*x,r[8]=u*g+p*_+d*A,this},multiplyScalar:function(t){var 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:function(){var t=this.elements,e=t[0],n=t[1],i=t[2],r=t[3],o=t[4],a=t[5],s=t[6],l=t[7],h=t[8];return e*o*h-e*a*l-n*r*h+n*a*s+i*r*l-i*o*s},getInverse:function(t,e){t&&t.isMatrix4&&console.error("THREE.Matrix3.getInverse no longer takes a Matrix4 argument.");var n=t.elements,i=this.elements,r=n[0],o=n[1],a=n[2],s=n[3],l=n[4],h=n[5],c=n[6],u=n[7],p=n[8],d=p*l-h*u,f=h*c-p*s,m=u*s-l*c,g=r*d+o*f+a*m;if(0===g){var v="THREE.Matrix3.getInverse(): can't invert matrix, determinant is 0";if(e===!0)throw new Error(v);return console.warn(v),this.identity()}var y=1/g;return i[0]=d*y,i[1]=(a*u-p*o)*y,i[2]=(h*o-a*l)*y,i[3]=f*y,i[4]=(p*r-a*c)*y,i[5]=(a*s-h*r)*y,i[6]=m*y,i[7]=(o*c-u*r)*y,i[8]=(l*r-o*s)*y,this},transpose:function(){var t,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:function(t){return this.setFromMatrix4(t).getInverse(this).transpose()},transposeIntoArray:function(t){var 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},equals:function(t){for(var e=this.elements,n=t.elements,i=0;i<9;i++)if(e[i]!==n[i])return!1;return!0},fromArray:function(t,e){void 0===e&&(e=0);for(var n=0;n<9;n++)this.elements[n]=t[n+e];return this},toArray:function(t,e){void 0===t&&(t=[]),void 0===e&&(e=0);var n=this.elements;return t[e]=n[0],t[e+1]=n[1],t[e+2]=n[2],t[e+3]=n[3],t[e+4]=n[4],t[e+5]=n[5],t[e+6]=n[6],t[e+7]=n[7],t[e+8]=n[8],t}}),Object.assign(nt.prototype,{set:function(t,e){return this.normal.copy(t),this.constant=e,this},setComponents:function(t,e,n,i){return this.normal.set(t,e,n),this.constant=i,this},setFromNormalAndCoplanarPoint:function(t,e){return this.normal.copy(t),this.constant=-e.dot(this.normal),this},setFromCoplanarPoints:function(){var t=new l,e=new l;return function(n,i,r){var o=t.subVectors(r,i).cross(e.subVectors(n,i)).normalize();return this.setFromNormalAndCoplanarPoint(o,n),this}}(),clone:function(){return(new this.constructor).copy(this)},copy:function(t){return this.normal.copy(t.normal),this.constant=t.constant,this},normalize:function(){var t=1/this.normal.length();return this.normal.multiplyScalar(t),this.constant*=t,this},negate:function(){return this.constant*=-1,this.normal.negate(),this},distanceToPoint:function(t){return this.normal.dot(t)+this.constant},distanceToSphere:function(t){return this.distanceToPoint(t.center)-t.radius},projectPoint:function(t,e){return this.orthoPoint(t,e).sub(t).negate()},orthoPoint:function(t,e){var n=this.distanceToPoint(t),i=e||new l;return i.copy(this.normal).multiplyScalar(n)},intersectLine:function(){var t=new l;return function(e,n){var i=n||new l,r=e.delta(t),o=this.normal.dot(r);
17if(0!==o){var a=-(e.start.dot(this.normal)+this.constant)/o;if(!(a<0||a>1))return i.copy(r).multiplyScalar(a).add(e.start)}else if(0===this.distanceToPoint(e.start))return i.copy(e.start)}}(),intersectsLine:function(t){var e=this.distanceToPoint(t.start),n=this.distanceToPoint(t.end);return e<0&&n>0||n<0&&e>0},intersectsBox:function(t){return t.intersectsPlane(this)},intersectsSphere:function(t){return t.intersectsPlane(this)},coplanarPoint:function(t){var e=t||new l;return e.copy(this.normal).multiplyScalar(-this.constant)},applyMatrix4:function(){var t=new l,e=new et;return function(n,i){var r=this.coplanarPoint(t).applyMatrix4(n),o=i||e.getNormalMatrix(n),a=this.normal.applyMatrix3(o).normalize();return this.constant=-r.dot(a),this}}(),translate:function(t){return this.constant=this.constant-t.dot(this.normal),this},equals:function(t){return t.normal.equals(this.normal)&&t.constant===this.constant}}),Object.assign(it.prototype,{set:function(t,e,n,i,r,o){var a=this.planes;return a[0].copy(t),a[1].copy(e),a[2].copy(n),a[3].copy(i),a[4].copy(r),a[5].copy(o),this},clone:function(){return(new this.constructor).copy(this)},copy:function(t){for(var e=this.planes,n=0;n<6;n++)e[n].copy(t.planes[n]);return this},setFromMatrix:function(t){var e=this.planes,n=t.elements,i=n[0],r=n[1],o=n[2],a=n[3],s=n[4],l=n[5],h=n[6],c=n[7],u=n[8],p=n[9],d=n[10],f=n[11],m=n[12],g=n[13],v=n[14],y=n[15];return e[0].setComponents(a-i,c-s,f-u,y-m).normalize(),e[1].setComponents(a+i,c+s,f+u,y+m).normalize(),e[2].setComponents(a+r,c+l,f+p,y+g).normalize(),e[3].setComponents(a-r,c-l,f-p,y-g).normalize(),e[4].setComponents(a-o,c-h,f-d,y-v).normalize(),e[5].setComponents(a+o,c+h,f+d,y+v).normalize(),this},intersectsObject:function(){var t=new tt;return function(e){var n=e.geometry;return null===n.boundingSphere&&n.computeBoundingSphere(),t.copy(n.boundingSphere).applyMatrix4(e.matrixWorld),this.intersectsSphere(t)}}(),intersectsSprite:function(){var t=new tt;return function(e){return t.center.set(0,0,0),t.radius=.7071067811865476,t.applyMatrix4(e.matrixWorld),this.intersectsSphere(t)}}(),intersectsSphere:function(t){for(var e=this.planes,n=t.center,i=-t.radius,r=0;r<6;r++){var o=e[r].distanceToPoint(n);if(o<i)return!1}return!0},intersectsBox:function(){var t=new l,e=new l;return function(n){for(var i=this.planes,r=0;r<6;r++){var o=i[r];t.x=o.normal.x>0?n.min.x:n.max.x,e.x=o.normal.x>0?n.max.x:n.min.x,t.y=o.normal.y>0?n.min.y:n.max.y,e.y=o.normal.y>0?n.max.y:n.min.y,t.z=o.normal.z>0?n.min.z:n.max.z,e.z=o.normal.z>0?n.max.z:n.min.z;var a=o.distanceToPoint(t),s=o.distanceToPoint(e);if(a<0&&s<0)return!1}return!0}}(),containsPoint:function(t){for(var e=this.planes,n=0;n<6;n++)if(e[n].distanceToPoint(t)<0)return!1;return!0}}),Object.assign(ot.prototype,{set:function(t,e){return this.origin.copy(t),this.direction.copy(e),this},clone:function(){return(new this.constructor).copy(this)},copy:function(t){return this.origin.copy(t.origin),this.direction.copy(t.direction),this},at:function(t,e){var n=e||new l;return n.copy(this.direction).multiplyScalar(t).add(this.origin)},lookAt:function(t){return this.direction.copy(t).sub(this.origin).normalize(),this},recast:function(){var t=new l;return function(e){return this.origin.copy(this.at(e,t)),this}}(),closestPointToPoint:function(t,e){var n=e||new l;n.subVectors(t,this.origin);var i=n.dot(this.direction);return i<0?n.copy(this.origin):n.copy(this.direction).multiplyScalar(i).add(this.origin)},distanceToPoint:function(t){return Math.sqrt(this.distanceSqToPoint(t))},distanceSqToPoint:function(){var t=new l;return function(e){var n=t.subVectors(e,this.origin).dot(this.direction);return n<0?this.origin.distanceToSquared(e):(t.copy(this.direction).multiplyScalar(n).add(this.origin),t.distanceToSquared(e))}}(),distanceSqToSegment:function(){var t=new l,e=new l,n=new l;return function(i,r,o,a){t.copy(i).add(r).multiplyScalar(.5),e.copy(r).sub(i).normalize(),n.copy(this.origin).sub(t);var s,l,h,c,u=.5*i.distanceTo(r),p=-this.direction.dot(e),d=n.dot(this.direction),f=-n.dot(e),m=n.lengthSq(),g=Math.abs(1-p*p);if(g>0)if(s=p*f-d,l=p*d-f,c=u*g,s>=0)if(l>=-c)if(l<=c){var v=1/g;s*=v,l*=v,h=s*(s+p*l+2*d)+l*(p*s+l+2*f)+m}else l=u,s=Math.max(0,-(p*l+d)),h=-s*s+l*(l+2*f)+m;else l=-u,s=Math.max(0,-(p*l+d)),h=-s*s+l*(l+2*f)+m;else l<=-c?(s=Math.max(0,-(-p*u+d)),l=s>0?-u:Math.min(Math.max(-u,-f),u),h=-s*s+l*(l+2*f)+m):l<=c?(s=0,l=Math.min(Math.max(-u,-f),u),h=l*(l+2*f)+m):(s=Math.max(0,-(p*u+d)),l=s>0?u:Math.min(Math.max(-u,-f),u),h=-s*s+l*(l+2*f)+m);else l=p>0?-u:u,s=Math.max(0,-(p*l+d)),h=-s*s+l*(l+2*f)+m;return o&&o.copy(this.direction).multiplyScalar(s).add(this.origin),a&&a.copy(e).multiplyScalar(l).add(t),h}}(),intersectSphere:function(){var t=new l;return function(e,n){t.subVectors(e.center,this.origin);
17var i=t.dot(this.direction),r=t.dot(t)-i*i,o=e.radius*e.radius;if(r>o)return null;var a=Math.sqrt(o-r),s=i-a,l=i+a;return s<0&&l<0?null:s<0?this.at(l,n):this.at(s,n)}}(),intersectsSphere:function(t){return this.distanceToPoint(t.center)<=t.radius},distanceToPlane:function(t){var e=t.normal.dot(this.direction);if(0===e)return 0===t.distanceToPoint(this.origin)?0:null;var n=-(this.origin.dot(t.normal)+t.constant)/e;return n>=0?n:null},intersectPlane:function(t,e){var n=this.distanceToPlane(t);return null===n?null:this.at(n,e)},intersectsPlane:function(t){var e=t.distanceToPoint(this.origin);if(0===e)return!0;var n=t.normal.dot(this.direction);return n*e<0},intersectBox:function(t,e){var n,i,r,o,a,s,l=1/this.direction.x,h=1/this.direction.y,c=1/this.direction.z,u=this.origin;return l>=0?(n=(t.min.x-u.x)*l,i=(t.max.x-u.x)*l):(n=(t.max.x-u.x)*l,i=(t.min.x-u.x)*l),h>=0?(r=(t.min.y-u.y)*h,o=(t.max.y-u.y)*h):(r=(t.max.y-u.y)*h,o=(t.min.y-u.y)*h),n>o||r>i?null:((r>n||n!==n)&&(n=r),(o<i||i!==i)&&(i=o),c>=0?(a=(t.min.z-u.z)*c,s=(t.max.z-u.z)*c):(a=(t.max.z-u.z)*c,s=(t.min.z-u.z)*c),n>s||a>i?null:((a>n||n!==n)&&(n=a),(s<i||i!==i)&&(i=s),i<0?null:this.at(n>=0?n:i,e)))},intersectsBox:function(){var t=new l;return function(e){return null!==this.intersectBox(e,t)}}(),intersectTriangle:function(){var t=new l,e=new l,n=new l,i=new l;return function(r,o,a,s,l){e.subVectors(o,r),n.subVectors(a,r),i.crossVectors(e,n);var h,c=this.direction.dot(i);if(c>0){if(s)return null;h=1}else{if(!(c<0))return null;h=-1,c=-c}t.subVectors(this.origin,r);var u=h*this.direction.dot(n.crossVectors(t,n));if(u<0)return null;var p=h*this.direction.dot(e.cross(t));if(p<0)return null;if(u+p>c)return null;var d=-h*t.dot(i);return d<0?null:this.at(d/c,l)}}(),applyMatrix4:function(t){return this.direction.add(this.origin).applyMatrix4(t),this.origin.applyMatrix4(t),this.direction.sub(this.origin),this.direction.normalize(),this},equals:function(t){return t.origin.equals(this.origin)&&t.direction.equals(this.direction)}}),at.RotationOrders=["XYZ","YZX","ZXY","XZY","YXZ","ZYX"],at.DefaultOrder="XYZ",Object.defineProperties(at.prototype,{x:{get:function(){return this._x},set:function(t){this._x=t,this.onChangeCallback()}},y:{get:function(){return this._y},set:function(t){this._y=t,this.onChangeCallback()}},z:{get:function(){return this._z},set:function(t){this._z=t,this.onChangeCallback()}},order:{get:function(){return this._order},set:function(t){this._order=t,this.onChangeCallback()}}}),Object.assign(at.prototype,{isEuler:!0,set:function(t,e,n,i){return this._x=t,this._y=e,this._z=n,this._order=i||this._order,this.onChangeCallback(),this},clone:function(){return new this.constructor(this._x,this._y,this._z,this._order)},copy:function(t){return this._x=t._x,this._y=t._y,this._z=t._z,this._order=t._order,this.onChangeCallback(),this},setFromRotationMatrix:function(t,e,n){var i=xs.clamp,r=t.elements,o=r[0],a=r[4],s=r[8],l=r[1],h=r[5],c=r[9],u=r[2],p=r[6],d=r[10];return e=e||this._order,"XYZ"===e?(this._y=Math.asin(i(s,-1,1)),Math.abs(s)<.99999?(this._x=Math.atan2(-c,d),this._z=Math.atan2(-a,o)):(this._x=Math.atan2(p,h),this._z=0)):"YXZ"===e?(this._x=Math.asin(-i(c,-1,1)),Math.abs(c)<.99999?(this._y=Math.atan2(s,d),this._z=Math.atan2(l,h)):(this._y=Math.atan2(-u,o),this._z=0)):"ZXY"===e?(this._x=Math.asin(i(p,-1,1)),Math.abs(p)<.99999?(this._y=Math.atan2(-u,d),this._z=Math.atan2(-a,h)):(this._y=0,this._z=Math.atan2(l,o))):"ZYX"===e?(this._y=Math.asin(-i(u,-1,1)),Math.abs(u)<.99999?(this._x=Math.atan2(p,d),this._z=Math.atan2(l,o)):(this._x=0,this._z=Math.atan2(-a,h))):"YZX"===e?(this._z=Math.asin(i(l,-1,1)),Math.abs(l)<.99999?(this._x=Math.atan2(-c,h),this._y=Math.atan2(-u,o)):(this._x=0,this._y=Math.atan2(s,d))):"XZY"===e?(this._z=Math.asin(-i(a,-1,1)),Math.abs(a)<.99999?(this._x=Math.atan2(p,h),this._y=Math.atan2(s,o)):(this._x=Math.atan2(-c,d),this._y=0)):console.warn("THREE.Euler: .setFromRotationMatrix() given unsupported order: "+e),this._order=e,n!==!1&&this.onChangeCallback(),this},setFromQuaternion:function(){var t=new h;return function(e,n,i){return t.makeRotationFromQuaternion(e),this.setFromRotationMatrix(t,n,i)}}(),setFromVector3:function(t,e){return this.set(t.x,t.y,t.z,e||this._order)},reorder:function(){var t=new s;return function(e){return t.setFromEuler(this),this.setFromQuaternion(t,e)}}(),equals:function(t){return t._x===this._x&&t._y===this._y&&t._z===this._z&&t._order===this._order;
18},fromArray:function(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:function(t,e){return void 0===t&&(t=[]),void 0===e&&(e=0),t[e]=this._x,t[e+1]=this._y,t[e+2]=this._z,t[e+3]=this._order,t},toVector3:function(t){return t?t.set(this._x,this._y,this._z):new l(this._x,this._y,this._z)},onChange:function(t){return this.onChangeCallback=t,this},onChangeCallback:function(){}}),Object.assign(st.prototype,{set:function(t){this.mask=1<<t|0},enable:function(t){this.mask|=1<<t|0},toggle:function(t){this.mask^=1<<t|0},disable:function(t){this.mask&=~(1<<t|0)},test:function(t){return 0!==(this.mask&t.mask)}});var Vh=0;lt.DefaultUp=new l(0,1,0),lt.DefaultMatrixAutoUpdate=!0,Object.assign(lt.prototype,e.prototype,{isObject3D:!0,applyMatrix:function(t){this.matrix.multiplyMatrices(t,this.matrix),this.matrix.decompose(this.position,this.quaternion,this.scale)},setRotationFromAxisAngle:function(t,e){this.quaternion.setFromAxisAngle(t,e)},setRotationFromEuler:function(t){this.quaternion.setFromEuler(t,!0)},setRotationFromMatrix:function(t){this.quaternion.setFromRotationMatrix(t)},setRotationFromQuaternion:function(t){this.quaternion.copy(t)},rotateOnAxis:function(){var t=new s;return function(e,n){return t.setFromAxisAngle(e,n),this.quaternion.multiply(t),this}}(),rotateX:function(){var t=new l(1,0,0);return function(e){return this.rotateOnAxis(t,e)}}(),rotateY:function(){var t=new l(0,1,0);return function(e){return this.rotateOnAxis(t,e)}}(),rotateZ:function(){var t=new l(0,0,1);return function(e){return this.rotateOnAxis(t,e)}}(),translateOnAxis:function(){var t=new l;return function(e,n){return t.copy(e).applyQuaternion(this.quaternion),this.position.add(t.multiplyScalar(n)),this}}(),translateX:function(){var t=new l(1,0,0);return function(e){return this.translateOnAxis(t,e)}}(),translateY:function(){var t=new l(0,1,0);return function(e){return this.translateOnAxis(t,e)}}(),translateZ:function(){var t=new l(0,0,1);return function(e){return this.translateOnAxis(t,e)}}(),localToWorld:function(t){return t.applyMatrix4(this.matrixWorld)},worldToLocal:function(){var t=new h;return function(e){return e.applyMatrix4(t.getInverse(this.matrixWorld))}}(),lookAt:function(){var t=new h;return function(e){this.isCamera?t.lookAt(this.position,e,this.up):t.lookAt(e,this.position,this.up),this.quaternion.setFromRotationMatrix(t)}}(),add:function(t){if(arguments.length>1){for(var e=0;e<arguments.length;e++)this.add(arguments[e]);return this}return t===this?(console.error("THREE.Object3D.add: object can't be added as a child of itself.",t),this):(t&&t.isObject3D?(null!==t.parent&&t.parent.remove(t),t.parent=this,t.dispatchEvent({type:"added"}),this.children.push(t)):console.error("THREE.Object3D.add: object not an instance of THREE.Object3D.",t),this)},remove:function(t){if(arguments.length>1)for(var e=0;e<arguments.length;e++)this.remove(arguments[e]);var n=this.children.indexOf(t);n!==-1&&(t.parent=null,t.dispatchEvent({type:"removed"}),this.children.splice(n,1))},getObjectById:function(t){return this.getObjectByProperty("id",t)},getObjectByName:function(t){return this.getObjectByProperty("name",t)},getObjectByProperty:function(t,e){if(this[t]===e)return this;for(var n=0,i=this.children.length;n<i;n++){var r=this.children[n],o=r.getObjectByProperty(t,e);if(void 0!==o)return o}},getWorldPosition:function(t){var e=t||new l;return this.updateMatrixWorld(!0),e.setFromMatrixPosition(this.matrixWorld)},getWorldQuaternion:function(){var t=new l,e=new l;return function(n){var i=n||new s;return this.updateMatrixWorld(!0),this.matrixWorld.decompose(t,i,e),i}}(),getWorldRotation:function(){var t=new s;return function(e){var n=e||new at;return this.getWorldQuaternion(t),n.setFromQuaternion(t,this.rotation.order,!1)}}(),getWorldScale:function(){var t=new l,e=new s;return function(n){var i=n||new l;return this.updateMatrixWorld(!0),this.matrixWorld.decompose(t,e,i),i}}(),getWorldDirection:function(){var t=new s;return function(e){var n=e||new l;return this.getWorldQuaternion(t),n.set(0,0,1).applyQuaternion(t)}}(),raycast:function(){},traverse:function(t){t(this);for(var e=this.children,n=0,i=e.length;n<i;n++)e[n].traverse(t)},traverseVisible:function(t){if(this.visible!==!1){t(this);for(var e=this.children,n=0,i=e.length;n<i;n++)e[n].traverseVisible(t)}},traverseAncestors:function(t){var e=this.parent;null!==e&&(t(e),e.traverseAncestors(t))},updateMatrix:function(){this.matrix.compose(this.position,this.quaternion,this.scale),this.matrixWorldNeedsUpdate=!0},updateMatrixWorld:function(t){this.matrixAutoUpdate&&this.updateMatrix(),(this.matrixWorldNeedsUpdate||t)&&(null===this.parent?this.matrixWorld.copy(this.matrix
18):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix),this.matrixWorldNeedsUpdate=!1,t=!0);for(var e=this.children,n=0,i=e.length;n<i;n++)e[n].updateMatrixWorld(t)},toJSON:function(t){function e(e,n){return void 0===e[n.uuid]&&(e[n.uuid]=n.toJSON(t)),n.uuid}function n(t){var e=[];for(var n in t){var i=t[n];delete i.metadata,e.push(i)}return e}var i=void 0===t||""===t,r={};i&&(t={geometries:{},materials:{},textures:{},images:{}},r.metadata={version:4.5,type:"Object",generator:"Object3D.toJSON"});var o={};if(o.uuid=this.uuid,o.type=this.type,""!==this.name&&(o.name=this.name),"{}"!==JSON.stringify(this.userData)&&(o.userData=this.userData),this.castShadow===!0&&(o.castShadow=!0),this.receiveShadow===!0&&(o.receiveShadow=!0),this.visible===!1&&(o.visible=!1),o.matrix=this.matrix.toArray(),void 0!==this.geometry&&(o.geometry=e(t.geometries,this.geometry)),void 0!==this.material)if(Array.isArray(this.material)){for(var a=[],s=0,l=this.material.length;s<l;s++)a.push(e(t.materials,this.material[s]));o.material=a}else o.material=e(t.materials,this.material);if(this.children.length>0){o.children=[];for(var s=0;s<this.children.length;s++)o.children.push(this.children[s].toJSON(t).object)}if(i){var h=n(t.geometries),c=n(t.materials),u=n(t.textures),p=n(t.images);h.length>0&&(r.geometries=h),c.length>0&&(r.materials=c),u.length>0&&(r.textures=u),p.length>0&&(r.images=p)}return r.object=o,r},clone:function(t){return(new this.constructor).copy(this,t)},copy:function(t,e){if(void 0===e&&(e=!0),this.name=t.name,this.up.copy(t.up),this.position.copy(t.position),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)),e===!0)for(var n=0;n<t.children.length;n++){var i=t.children[n];this.add(i.clone())}return this}}),Object.assign(ht.prototype,{set:function(t,e){return this.start.copy(t),this.end.copy(e),this},clone:function(){return(new this.constructor).copy(this)},copy:function(t){return this.start.copy(t.start),this.end.copy(t.end),this},getCenter:function(t){var e=t||new l;return e.addVectors(this.start,this.end).multiplyScalar(.5)},delta:function(t){var e=t||new l;return e.subVectors(this.end,this.start)},distanceSq:function(){return this.start.distanceToSquared(this.end)},distance:function(){return this.start.distanceTo(this.end)},at:function(t,e){var n=e||new l;return this.delta(n).multiplyScalar(t).add(this.start)},closestPointToPointParameter:function(){var t=new l,e=new l;return function(n,i){t.subVectors(n,this.start),e.subVectors(this.end,this.start);var r=e.dot(e),o=e.dot(t),a=o/r;return i&&(a=xs.clamp(a,0,1)),a}}(),closestPointToPoint:function(t,e,n){var i=this.closestPointToPointParameter(t,e),r=n||new l;return this.delta(r).multiplyScalar(i).add(this.start)},applyMatrix4:function(t){return this.start.applyMatrix4(t),this.end.applyMatrix4(t),this},equals:function(t){return t.start.equals(this.start)&&t.end.equals(this.end)}}),Object.assign(ct,{normal:function(){var t=new l;return function(e,n,i,r){var o=r||new l;o.subVectors(i,n),t.subVectors(e,n),o.cross(t);var a=o.lengthSq();return a>0?o.multiplyScalar(1/Math.sqrt(a)):o.set(0,0,0)}}(),barycoordFromPoint:function(){var t=new l,e=new l,n=new l;return function(i,r,o,a,s){t.subVectors(a,r),e.subVectors(o,r),n.subVectors(i,r);var h=t.dot(t),c=t.dot(e),u=t.dot(n),p=e.dot(e),d=e.dot(n),f=h*p-c*c,m=s||new l;if(0===f)return m.set(-2,-1,-1);var g=1/f,v=(p*u-c*d)*g,y=(h*d-c*u)*g;return m.set(1-v-y,y,v)}}(),containsPoint:function(){var t=new l;return function(e,n,i,r){var o=ct.barycoordFromPoint(e,n,i,r,t);return o.x>=0&&o.y>=0&&o.x+o.y<=1}}()}),Object.assign(ct.prototype,{set:function(t,e,n){return this.a.copy(t),this.b.copy(e),this.c.copy(n),this},setFromPointsAndIndices:function(t,e,n,i){return this.a.copy(t[e]),this.b.copy(t[n]),this.c.copy(t[i]),this},clone:function(){return(new this.constructor).copy(this)},copy:function(t){return this.a.copy(t.a),this.b.copy(t.b),this.c.copy(t.c),this},area:function(){var t=new l,e=new l;return function(){return t.subVectors(this.c,this.b),e.subVectors(this.a,this.b),.5*t.cross(e).length()}}(),midpoint:function(t){var e=t||new l;return e.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)},normal:function(t){return ct.normal(this.a,this.b,this.c,t)},plane:function(t){var e=t||new nt;return e.setFromCoplanarPoints(this.a,this.b,this.c)},barycoordFromPoint:function(t,e){return ct.barycoordFromPoint(t,this.a,this.b,this.c,e)},containsPoint:function(t){return ct.containsPoint(t,this.a,this.b,this.c)},closestPointToPoint:function(){var t=new nt,e=[new ht,new ht,new ht],n=new l,i=new l;return function(r,o){var a=o||new l,s=1/0;if(t.setFromCoplanarPoints(this.a,this.b,this.c),t.projectPoint(r,n),this.containsPoint(n)===!0)a.copy(n);else{e[0].set(this.a,this.b),e[1].set(this.b,this.c),e[2].set(this.c,this.a);for(var h=0;h<e.length;h++){e[h].closestPointToPoint(n,!0,i);var c=n.distanceToSquared(i);c<s&&(s=c,a.copy(i))}}return a}}(),equals:function(t){return t.a.equals(this.a)&&t.b.equals(this.b)&&t.c.equals(this.c)}}),Object.assign(ut.prototype,{clone:function(){return(new this.constructor).copy(this)},copy:function(t){this.a=t.a,this.b=t.b,this.c=t.c,this.normal.copy(t.normal),this.color.copy(t.color),this.materialIndex=t.materialIndex;for(var e=0,n=t.vertexNormals.length;e<n;e++)this.vertexNormals[e]=t.vertexNormals[e].clone();for(var e=0,n=t.vertexColors.length;e<n;e++)this.vertexColors[e]=t.vertexColors[e].clone();return this}}),pt.prototype=Object.create(q.prototype),pt.prototype.constructor=pt,pt.prototype.isMeshBasicMaterial=!0,pt.prototype.copy=function(t){return q.prototype.copy.call(this,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.skinning=t.skinning,this.morphTargets=t.morphTargets,this},Object.defineProperty(dt.prototype,"needsUpdate",{set:function(t){t===!0&&this.version++}}),Object.assign(dt.prototype,{isBufferAttribute:!0,setArray:function(t){if(Array.isArray(t))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.count=void 0!==t?t.length/this.itemSize:0,this.array=t},setDynamic:function(t){return this.dynamic=t,this},copy:function(t){return this.array=new t.array.constructor(t.array),this.itemSize=t.itemSize,this.count=t.count,this.normalized=t.normalized,this.dynamic=t.dynamic,this},copyAt:function(t,e,n){t*=this.itemSize,n*=e.itemSize;
18for(var i=0,r=this.itemSize;i<r;i++)this.array[t+i]=e.array[n+i];return this},copyArray:function(t){return this.array.set(t),this},copyColorsArray:function(t){for(var e=this.array,n=0,i=0,r=t.length;i<r;i++){var o=t[i];void 0===o&&(console.warn("THREE.BufferAttribute.copyColorsArray(): color is undefined",i),o=new W),e[n++]=o.r,e[n++]=o.g,e[n++]=o.b}return this},copyIndicesArray:function(t){for(var e=this.array,n=0,i=0,r=t.length;i<r;i++){var o=t[i];e[n++]=o.a,e[n++]=o.b,e[n++]=o.c}return this},copyVector2sArray:function(t){for(var e=this.array,i=0,r=0,o=t.length;r<o;r++){var a=t[r];void 0===a&&(console.warn("THREE.BufferAttribute.copyVector2sArray(): vector is undefined",r),a=new n),e[i++]=a.x,e[i++]=a.y}return this},copyVector3sArray:function(t){for(var e=this.array,n=0,i=0,r=t.length;i<r;i++){var o=t[i];void 0===o&&(console.warn("THREE.BufferAttribute.copyVector3sArray(): vector is undefined",i),o=new l),e[n++]=o.x,e[n++]=o.y,e[n++]=o.z}return this},copyVector4sArray:function(t){for(var e=this.array,n=0,i=0,o=t.length;i<o;i++){var a=t[i];void 0===a&&(console.warn("THREE.BufferAttribute.copyVector4sArray(): vector is undefined",i),a=new r),e[n++]=a.x,e[n++]=a.y,e[n++]=a.z,e[n++]=a.w}return this},set:function(t,e){return void 0===e&&(e=0),this.array.set(t,e),this},getX:function(t){return this.array[t*this.itemSize]},setX:function(t,e){return this.array[t*this.itemSize]=e,this},getY:function(t){return this.array[t*this.itemSize+1]},setY:function(t,e){return this.array[t*this.itemSize+1]=e,this},getZ:function(t){return this.array[t*this.itemSize+2]},setZ:function(t,e){return this.array[t*this.itemSize+2]=e,this},getW:function(t){return this.array[t*this.itemSize+3]},setW:function(t,e){return this.array[t*this.itemSize+3]=e,this},setXY:function(t,e,n){return t*=this.itemSize,this.array[t+0]=e,this.array[t+1]=n,this},setXYZ:function(t,e,n,i){return t*=this.itemSize,this.array[t+0]=e,this.array[t+1]=n,this.array[t+2]=i,this},setXYZW:function(t,e,n,i,r){return t*=this.itemSize,this.array[t+0]=e,this.array[t+1]=n,this.array[t+2]=i,this.array[t+3]=r,this},onUpload:function(t){return this.onUploadCallback=t,this},clone:function(){return new this.constructor(this.array,this.itemSize).copy(this)}}),ft.prototype=Object.create(dt.prototype),ft.prototype.constructor=ft,mt.prototype=Object.create(dt.prototype),mt.prototype.constructor=mt,gt.prototype=Object.create(dt.prototype),gt.prototype.constructor=gt,vt.prototype=Object.create(dt.prototype),vt.prototype.constructor=vt,yt.prototype=Object.create(dt.prototype),yt.prototype.constructor=yt,_t.prototype=Object.create(dt.prototype),_t.prototype.constructor=_t,bt.prototype=Object.create(dt.prototype),bt.prototype.constructor=bt,xt.prototype=Object.create(dt.prototype),xt.prototype.constructor=xt,At.prototype=Object.create(dt.prototype),At.prototype.constructor=At,Object.assign(wt.prototype,{computeGroups:function(t){for(var e,n=[],i=void 0,r=t.faces,o=0;o<r.length;o++){var a=r[o];a.materialIndex!==i&&(i=a.materialIndex,void 0!==e&&(e.count=3*o-e.start,n.push(e)),e={start:3*o,materialIndex:i})}void 0!==e&&(e.count=3*o-e.start,n.push(e)),this.groups=n},fromGeometry:function(t){var e,i=t.faces,r=t.vertices,o=t.faceVertexUvs,a=o[0]&&o[0].length>0,s=o[1]&&o[1].length>0,l=t.morphTargets,h=l.length;if(h>0){e=[];for(var c=0;c<h;c++)e[c]=[];this.morphTargets.position=e}var u,p=t.morphNormals,d=p.length;if(d>0){u=[];for(var c=0;c<d;c++)u[c]=[];this.morphTargets.normal=u}for(var f=t.skinIndices,m=t.skinWeights,g=f.length===r.length,v=m.length===r.length,c=0;c<i.length;c++){var y=i[c];this.vertices.push(r[y.a],r[y.b],r[y.c]);var _=y.vertexNormals;if(3===_.length)this.normals.push(_[0],_[1],_[2]);else{var b=y.normal;this.normals.push(b,b,b)}var x=y.vertexColors;if(3===x.length)this.colors.push(x[0],x[1],x[2]);else{var A=y.color;this.colors.push(A,A,A)}if(a===!0){var w=o[0][c];void 0!==w?this.uvs.push(w[0],w[1],w[2]):(console.warn("THREE.DirectGeometry.fromGeometry(): Undefined vertexUv ",c),this.uvs.push(new n,new n,new n))}if(s===!0){var w=o[1][c];void 0!==w?this.uvs2.push(w[0],w[1],w[2]):(console.warn("THREE.DirectGeometry.fromGeometry(): Undefined vertexUv2 ",c),this.uvs2.push(new n,new n,new n))}for(var E=0;E<h;E++){var T=l[E].vertices;e[E].push(T[y.a],T[y.b],T[y.c])}for(var E=0;E<d;E++){var S=p[E].vertexNormals[c];u[E].push(S.a,S.b,S.c)}g&&this.skinIndices.push(f[y.a],f[y.b],f[y.c]),v&&this.skinWeights.push(m[y.a],m[y.b],m[y.c])}return this.computeGroups(t),this.verticesNeedUpdate=t.verticesNeedUpdate,this.normalsNeedUpdate=t.normalsNeedUpdate,this.colorsNeedUpdate=t.colorsNeedUpdate,this.uvsNeedUpdate=t.uvsNeedUpdate,this.groupsNeedUpdate=t.groupsNeedUpdate,this}});var Gh=0;Object.assign(St.prototype,e.prototype,{isGeometry:!0,applyMatrix:function(t){for(var e=(new et).getNormalMatrix(t),n=0,i=this.vertices.length;n<i;n++){var r=this.vertices[n];
18r.applyMatrix4(t)}for(var n=0,i=this.faces.length;n<i;n++){var o=this.faces[n];o.normal.applyMatrix3(e).normalize();for(var a=0,s=o.vertexNormals.length;a<s;a++)o.vertexNormals[a].applyMatrix3(e).normalize()}return null!==this.boundingBox&&this.computeBoundingBox(),null!==this.boundingSphere&&this.computeBoundingSphere(),this.verticesNeedUpdate=!0,this.normalsNeedUpdate=!0,this},rotateX:function(){var t=new h;return function(e){return t.makeRotationX(e),this.applyMatrix(t),this}}(),rotateY:function(){var t=new h;return function(e){return t.makeRotationY(e),this.applyMatrix(t),this}}(),rotateZ:function(){var t=new h;return function(e){return t.makeRotationZ(e),this.applyMatrix(t),this}}(),translate:function(){var t=new h;return function(e,n,i){return t.makeTranslation(e,n,i),this.applyMatrix(t),this}}(),scale:function(){var t=new h;return function(e,n,i){return t.makeScale(e,n,i),this.applyMatrix(t),this}}(),lookAt:function(){var t=new lt;return function(e){t.lookAt(e),t.updateMatrix(),this.applyMatrix(t.matrix)}}(),fromBufferGeometry:function(t){function e(t,e,n,r){var o=void 0!==s?[p[t].clone(),p[e].clone(),p[n].clone()]:[],a=void 0!==h?[i.colors[t].clone(),i.colors[e].clone(),i.colors[n].clone()]:[],l=new ut(t,e,n,o,a,r);i.faces.push(l),void 0!==c&&i.faceVertexUvs[0].push([d[t].clone(),d[e].clone(),d[n].clone()]),void 0!==u&&i.faceVertexUvs[1].push([f[t].clone(),f[e].clone(),f[n].clone()])}var i=this,r=null!==t.index?t.index.array:void 0,o=t.attributes,a=o.position.array,s=void 0!==o.normal?o.normal.array:void 0,h=void 0!==o.color?o.color.array:void 0,c=void 0!==o.uv?o.uv.array:void 0,u=void 0!==o.uv2?o.uv2.array:void 0;void 0!==u&&(this.faceVertexUvs[1]=[]);for(var p=[],d=[],f=[],m=0,g=0;m<a.length;m+=3,g+=2)i.vertices.push(new l(a[m],a[m+1],a[m+2])),void 0!==s&&p.push(new l(s[m],s[m+1],s[m+2])),void 0!==h&&i.colors.push(new W(h[m],h[m+1],h[m+2])),void 0!==c&&d.push(new n(c[g],c[g+1])),void 0!==u&&f.push(new n(u[g],u[g+1]));var v=t.groups;if(v.length>0)for(var m=0;m<v.length;m++)for(var y=v[m],_=y.start,b=y.count,g=_,x=_+b;g<x;g+=3)void 0!==r?e(r[g],r[g+1],r[g+2],y.materialIndex):e(g,g+1,g+2,y.materialIndex);else if(void 0!==r)for(var m=0;m<r.length;m+=3)e(r[m],r[m+1],r[m+2]);else for(var m=0;m<a.length/3;m+=3)e(m,m+1,m+2);return this.computeFaceNormals(),null!==t.boundingBox&&(this.boundingBox=t.boundingBox.clone()),null!==t.boundingSphere&&(this.boundingSphere=t.boundingSphere.clone()),this},center:function(){this.computeBoundingBox();var t=this.boundingBox.getCenter().negate();return this.translate(t.x,t.y,t.z),t},normalize:function(){this.computeBoundingSphere();var t=this.boundingSphere.center,e=this.boundingSphere.radius,n=0===e?1:1/e,i=new h;return i.set(n,0,0,-n*t.x,0,n,0,-n*t.y,0,0,n,-n*t.z,0,0,0,1),this.applyMatrix(i),this},computeFaceNormals:function(){for(var t=new l,e=new l,n=0,i=this.faces.length;n<i;n++){var r=this.faces[n],o=this.vertices[r.a],a=this.vertices[r.b],s=this.vertices[r.c];t.subVectors(s,a),e.subVectors(o,a),t.cross(e),t.normalize(),r.normal.copy(t)}},computeVertexNormals:function(t){void 0===t&&(t=!0);var e,n,i,r,o,a;for(a=new Array(this.vertices.length),e=0,n=this.vertices.length;e<n;e++)a[e]=new l;if(t){var s,h,c,u=new l,p=new l;for(i=0,r=this.faces.length;i<r;i++)o=this.faces[i],s=this.vertices[o.a],h=this.vertices[o.b],c=this.vertices[o.c],u.subVectors(c,h),p.subVectors(s,h),u.cross(p),a[o.a].add(u),a[o.b].add(u),a[o.c].add(u)}else for(this.computeFaceNormals(),i=0,r=this.faces.length;i<r;i++)o=this.faces[i],a[o.a].add(o.normal),a[o.b].add(o.normal),a[o.c].add(o.normal);for(e=0,n=this.vertices.length;e<n;e++)a[e].normalize();for(i=0,r=this.faces.length;i<r;i++){o=this.faces[i];var d=o.vertexNormals;3===d.length?(d[0].copy(a[o.a]),d[1].copy(a[o.b]),d[2].copy(a[o.c])):(d[0]=a[o.a].clone(),d[1]=a[o.b].clone(),d[2]=a[o.c].clone())}this.faces.length>0&&(this.normalsNeedUpdate=!0)},computeFlatVertexNormals:function(){var t,e,n;for(this.computeFaceNormals(),t=0,e=this.faces.length;t<e;t++){n=this.faces[t];var i=n.vertexNormals;3===i.length?(i[0].copy(n.normal),i[1].copy(n.normal),i[2].copy(n.normal)):(i[0]=n.normal.clone(),i[1]=n.normal.clone(),i[2]=n.normal.clone())}this.faces.length>0&&(this.normalsNeedUpdate=!0)},computeMorphNormals:function(){var t,e,n,i,r;for(n=0,i=this.faces.length;n<i;
vendor: 1,083 bytes, line 18
18n++)for(r=this.faces[n],r.__originalFaceNormal?r.__originalFaceNormal.copy(r.normal):r.__originalFaceNormal=r.normal.clone(),r.__originalVertexNormals||(r.__originalVertexNormals=[]),t=0,e=r.vertexNormals.length;t<e;t++)r.__originalVertexNormals[t]?r.__originalVertexNormals[t].copy(r.vertexNormals[t]):r.__originalVertexNormals[t]=r.vertexNormals[t].clone();var o=new St;for(o.faces=this.faces,t=0,e=this.morphTargets.length;t<e;t++){if(!this.morphNormals[t]){this.morphNormals[t]={},this.morphNormals[t].faceNormals=[],this.morphNormals[t].vertexNormals=[];var a,s,h=this.morphNormals[t].faceNormals,c=this.morphNormals[t].vertexNormals;for(n=0,i=this.faces.length;n<i;n++)a=new l,s={a:new l,b:new l,c:new l},h.push(a),c.push(s)}var u=this.morphNormals[t];o.vertices=this.morphTargets[t].vertices,o.computeFaceNormals(),o.computeVertexNormals();var a,s;for(n=0,i=this.faces.length;n<i;n++)r=this.faces[n],a=u.faceNormals[n],s=u.vertexNormals[n],a.copy(r.normal),s.a.copy(r.vertexNormals[0]),s.b.copy(r.vertexNormals[1]),s.c.copy(r.vertexNormals[2])}for(n=0,i=this.faces.length;n<i;
18n++)r=this.faces[n],r.normal=r.__originalFaceNormal,r.vertexNormals=r.__originalVertexNormals},computeLineDistances:function(){for(var t=0,e=this.vertices,n=0,i=e.length;n<i;n++)n>0&&(t+=e[n].distanceTo(e[n-1])),this.lineDistances[n]=t},computeBoundingBox:function(){null===this.boundingBox&&(this.boundingBox=new $),this.boundingBox.setFromPoints(this.vertices)},computeBoundingSphere:function(){null===this.boundingSphere&&(this.boundingSphere=new tt),this.boundingSphere.setFromPoints(this.vertices)},merge:function(t,e,n){if((t&&t.isGeometry)===!1)return void console.error("THREE.Geometry.merge(): geometry not an instance of THREE.Geometry.",t);var i,r=this.vertices.length,o=this.vertices,a=t.vertices,s=this.faces,l=t.faces,h=this.faceVertexUvs[0],c=t.faceVertexUvs[0],u=this.colors,p=t.colors;void 0===n&&(n=0),void 0!==e&&(i=(new et).getNormalMatrix(e));for(var d=0,f=a.length;d<f;d++){var m=a[d],g=m.clone();void 0!==e&&g.applyMatrix4(e),o.push(g)}for(var d=0,f=p.length;d<f;d++)u.push(p[d].clone());for(d=0,f=l.length;d<f;d++){var v,y,_,b=l[d],x=b.vertexNormals,A=b.vertexColors;v=new ut(b.a+r,b.b+r,b.c+r),v.normal.copy(b.normal),void 0!==i&&v.normal.applyMatrix3(i).normalize();for(var w=0,E=x.length;w<E;w++)y=x[w].clone(),void 0!==i&&y.applyMatrix3(i).normalize(),v.vertexNormals.push(y);v.color.copy(b.color);for(var w=0,E=A.length;w<E;w++)_=A[w],v.vertexColors.push(_.clone());v.materialIndex=b.materialIndex+n,s.push(v)}for(d=0,f=c.length;d<f;d++){var T=c[d],S=[];if(void 0!==T){for(var w=0,E=T.length;w<E;w++)S.push(T[w].clone());h.push(S)}}},mergeMesh:function(t){return(t&&t.isMesh)===!1?void console.error("THREE.Geometry.mergeMesh(): mesh not an instance of THREE.Mesh.",t):(t.matrixAutoUpdate&&t.updateMatrix(),void this.merge(t.geometry,t.matrix))},mergeVertices:function(){var t,e,n,i,r,o,a,s,l={},h=[],c=[],u=4,p=Math.pow(10,u);for(n=0,i=this.vertices.length;n<i;n++)t=this.vertices[n],e=Math.round(t.x*p)+"_"+Math.round(t.y*p)+"_"+Math.round(t.z*p),void 0===l[e]?(l[e]=n,h.push(this.vertices[n]),c[n]=h.length-1):c[n]=c[l[e]];var d=[];for(n=0,i=this.faces.length;n<i;n++){r=this.faces[n],r.a=c[r.a],r.b=c[r.b],r.c=c[r.c],o=[r.a,r.b,r.c];for(var f=0;f<3;f++)if(o[f]===o[(f+1)%3]){d.push(n);break}}for(n=d.length-1;n>=0;n--){var m=d[n];for(this.faces.splice(m,1),a=0,s=this.faceVertexUvs.length;a<s;a++)this.faceVertexUvs[a].splice(m,1)}var g=this.vertices.length-h.length;return this.vertices=h,g},sortFacesByMaterialIndex:function(){function t(t,e){return t.materialIndex-e.materialIndex}for(var e=this.faces,n=e.length,i=0;i<n;i++)e[i]._id=i;e.sort(t);var r,o,a=this.faceVertexUvs[0],s=this.faceVertexUvs[1];a&&a.length===n&&(r=[]),s&&s.length===n&&(o=[]);for(var i=0;i<n;i++){var l=e[i]._id;r&&r.push(a[l]),o&&o.push(s[l])}r&&(this.faceVertexUvs[0]=r),o&&(this.faceVertexUvs[1]=o)},toJSON:function(){function t(t,e,n){return n?t|1<<e:t&~(1<<e)}function e(t){var e=t.x.toString()+t.y.toString()+t.z.toString();return void 0!==p[e]?p[e]:(p[e]=u.length/3,u.push(t.x,t.y,t.z),p[e])}function n(t){var e=t.r.toString()+t.g.toString()+t.b.toString();return void 0!==f[e]?f[e]:(f[e]=d.length,d.push(t.getHex()),f[e])}function i(t){var e=t.x.toString()+t.y.toString();return void 0!==g[e]?g[e]:(g[e]=m.length/2,m.push(t.x,t.y),g[e])}var r={metadata:{version:4.5,type:"Geometry",generator:"Geometry.toJSON"}};if(r.uuid=this.uuid,r.type=this.type,""!==this.name&&(r.name=this.name),void 0!==this.parameters){var o=this.parameters;for(var a in o)void 0!==o[a]&&(r[a]=o[a]);return r}for(var s=[],l=0;l<this.vertices.length;l++){var h=this.vertices[l];s.push(h.x,h.y,h.z)}for(var c=[],u=[],p={},d=[],f={},m=[],g={},l=0;l<this.faces.length;l++){var v=this.faces[l],y=!0,_=!1,b=void 0!==this.faceVertexUvs[0][l],x=v.normal.length()>0,A=v.vertexNormals.length>0,w=1!==v.color.r||1!==v.color.g||1!==v.color.b,E=v.vertexColors.length>0,T=0;if(T=t(T,0,0),T=t(T,1,y),T=t(T,2,_),T=t(T,3,b),T=t(T,4,x),T=t(T,5,A),T=t(T,6,w),T=t(T,7,E),c.push(T),c.push(v.a,v.b,v.c),c.push(v.materialIndex),b){var S=this.faceVertexUvs[0][l];c.push(i(S[0]),i(S[1]),i(S[2]))}if(x&&c.push(e(v.normal)),A){var M=v.vertexNormals;c.push(e(M[0]),e(M[1]),e(M[2]))}if(w&&c.push(n(v.color)),E){var C=v.vertexColors;c.push(n(C[0]),n(C[1]),n(C[2]))}}return r.data={},r.data.vertices=s,r.data.normals=u,d.length>0&&(r.data.colors=d),m.length>0&&(r.data.uvs=[m]),r.data.faces=c,r},clone:function(){return(new St).copy(this)},copy:function(t){var e,n,i,r,o,a;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=t.name;var s=t.vertices;for(e=0,n=s.length;e<n;e++)this.vertices.push(s[e].clone());var l=t.colors;for(e=0,n=l.length;e<n;e++)this.colors.push(l[e].clone());var h=t.faces;for(e=0,n=h.length;e<n;e++)this.faces.push(h[e].clone());for(e=0,n=t.faceVertexUvs.length;e<n;e++){var c=t.faceVertexUvs[e];for(void 0===this.faceVertexUvs[e]&&(this.faceVertexUvs[e]=[]),i=0,r=c.length;i<r;i++){var u=c[i],p=[];for(o=0,a=u.length;o<a;o++){var d=u[o];p.push(d.clone())}this.faceVertexUvs[e].push(p)}}var f=t.morphTargets;for(e=0,n=f.length;e<n;e++){var m={};if(m.name=f[e].name,void 0!==f[e].vertices)for(m.vertices=[],i=0,r=f[e].vertices.length;i<r;i++)m.vertices.push(f[e].vertices[i].clone());if(void 0!==f[e].normals)for(m.normals=[],i=0,r=f[e].normals.length;i<r;i++)m.normals.push(f[e].normals[i].clone());this.morphTargets.push(m)}var g=t.morphNormals;for(e=0,n=g.length;e<n;e++){var v={};if(void 0!==g[e].vertexNormals)for(v.vertexNormals=[],i=0,r=g[e].vertexNormals.length;i<r;i++){var y=g[e].vertexNormals[i],_={};_.a=y.a.clone(),_.b=y.b.clone(),_.c=y.c.clone(),v.vertexNormals.push(_)}if(void 0!==g[e].faceNormals)for(v.faceNormals=[],i=0,r=g[e].faceNormals.length;i<r;i++)v.faceNormals.push(g[e].faceNormals[i].clone());this.morphNormals.push(v)}var b=t.skinWeights;for(e=0,n=b.length;e<n;e++)this.skinWeights.push(b[e].clone());var x=t.skinIndices;for(e=0,n=x.length;e<n;e++)this.skinIndices.push(x[e].clone());var A=t.lineDistances;for(e=0,n=A.length;e<n;e++)this.lineDistances.push(A[e]);var w=t.boundingBox;null!==w&&(this.boundingBox=w.clone());var E=t.boundingSphere;return null!==E&&(this.boundingSphere=E.clone()),this.elementsNeedUpdate=t.elementsNeedUpdate,this.verticesNeedUpdate=t.verticesNeedUpdate,this.uvsNeedUpdate=t.uvsNeedUpdate,this.normalsNeedUpdate=t.normalsNeedUpdate,this.colorsNeedUpdate=t.colorsNeedUpdate,this.lineDistancesNeedUpdate=t.lineDistancesNeedUpdate,this.groupsNeedUpdate=t.groupsNeedUpdate,this},dispose:function(){this.dispatchEvent({type:"dispose"})}}),Mt.MaxIndex=65535,Object.assign(Mt.prototype,e.prototype,{isBufferGeometry:!0,getIndex:function(){return this.index},setIndex:function(t){Array.isArray(t)?this.index=new(Et(t)>65535?bt:yt)(t,1):this.index=t},addAttribute:function(t,e){return(e&&e.isBufferAttribute)===!1&&(e&&e.isInterleavedBufferAttribute)===!1?(console.warn("THREE.BufferGeometry: .addAttribute() now expects ( name, attribute )."),void this.addAttribute(t,new dt(arguments[1],arguments[2]))):"index"===t?(console.warn("THREE.BufferGeometry.addAttribute: Use .setIndex() for index attribute."),void this.setIndex(e)):(this.attributes[t]=e,this)},getAttribute:function(t){return this.attributes[t]},removeAttribute:function(t){return delete this.attributes[t],this},addGroup:function(t,e,n){this.groups.push({start:t,count:e,materialIndex:void 0!==n?n:0})},clearGroups:function(){this.groups=[]},setDrawRange:function(t,e){this.drawRange.start=t,this.drawRange.count=e},applyMatrix:function(t){var e=this.attributes.position;void 0!==e&&(t.applyToBufferAttribute(e),e.needsUpdate=!0);var n=this.attributes.normal;if(void 0!==n){var i=(new et).getNormalMatrix(t);i.applyToBufferAttribute(n),n.needsUpdate=!0}return null!==this.boundingBox&&this.computeBoundingBox(),null!==this.boundingSphere&&this.computeBoundingSphere(),this},rotateX:function(){var t=new h;return function(e){return t.makeRotationX(e),this.applyMatrix(t),this}}(),rotateY:function(){var t=new h;return function(e){return t.makeRotationY(e),this.applyMatrix(t),this}}(),rotateZ:function(){var t=new h;return function(e){return t.makeRotationZ(e),this.applyMatrix(t),this}}(),translate:function(){var t=new h;return function(e,n,i){return t.makeTranslation(e,n,i),this.applyMatrix(t),this}}(),scale:function(){var t=new h;return function(e,n,i){return t.makeScale(e,n,i),this.applyMatrix(t),this}}(),lookAt:function(){var t=new lt;return function(e){t.lookAt(e),t.updateMatrix(),this.applyMatrix(t.matrix)}}(),center:function(){this.computeBoundingBox();var t=this.boundingBox.getCenter().negate();return this.translate(t.x,t.y,t.z),t},setFromObject:function(t){var e=t.geometry;if(t.isPoints||t.isLine){var n=new xt(3*e.vertices.length,3),i=new xt(3*e.colors.length,3);if(this.addAttribute("position",n.copyVector3sArray(e.vertices)),this.addAttribute("color",i.copyColorsArray(e.colors)),e.lineDistances&&e.lineDistances.length===e.vertices.length){var r=new xt(e.lineDistances.length,1);this.addAttribute("lineDistance",r.copyArray(e.lineDistances))}null!==e.boundingSphere&&(this.boundingSphere=e.boundingSphere.clone()),null!==e.boundingBox&&
18(this.boundingBox=e.boundingBox.clone())}else t.isMesh&&e&&e.isGeometry&&this.fromGeometry(e);return this},updateFromObject:function(t){var e=t.geometry;if(t.isMesh){var n=e.__directGeometry;if(e.elementsNeedUpdate===!0&&(n=void 0,e.elementsNeedUpdate=!1),void 0===n)return this.fromGeometry(e);n.verticesNeedUpdate=e.verticesNeedUpdate,n.normalsNeedUpdate=e.normalsNeedUpdate,n.colorsNeedUpdate=e.colorsNeedUpdate,n.uvsNeedUpdate=e.uvsNeedUpdate,n.groupsNeedUpdate=e.groupsNeedUpdate,e.verticesNeedUpdate=!1,e.normalsNeedUpdate=!1,e.colorsNeedUpdate=!1,e.uvsNeedUpdate=!1,e.groupsNeedUpdate=!1,e=n}var i;return e.verticesNeedUpdate===!0&&(i=this.attributes.position, 19void 0!==i&&(i.copyVector3sArray(e.vertices),i.needsUpdate=!0),e.verticesNeedUpdate=!1),e.normalsNeedUpdate===!0&&(i=this.attributes.normal,void 0!==i&&(i.copyVector3sArray(e.normals),i.needsUpdate=!0),e.normalsNeedUpdate=!1),e.colorsNeedUpdate===!0&&(i=this.attributes.color,void 0!==i&&(i.copyColorsArray(e.colors),i.needsUpdate=!0),e.colorsNeedUpdate=!1),e.uvsNeedUpdate&&(i=this.attributes.uv,void 0!==i&&(i.copyVector2sArray(e.uvs),i.needsUpdate=!0),e.uvsNeedUpdate=!1),e.lineDistancesNeedUpdate&&(i=this.attributes.lineDistance,void 0!==i&&(i.copyArray(e.lineDistances),i.needsUpdate=!0),e.lineDistancesNeedUpdate=!1),e.groupsNeedUpdate&&(e.computeGroups(t.geometry),this.groups=e.groups,e.groupsNeedUpdate=!1),this},fromGeometry:function(t){return t.__directGeometry=(new wt).fromGeometry(t),this.fromDirectGeometry(t.__directGeometry)},fromDirectGeometry:function(t){var e=new Float32Array(3*t.vertices.length);if(this.addAttribute("position",new dt(e,3).copyVector3sArray(t.vertices)),t.normals.length>0){var n=new Float32Array(3*t.normals.length);this.addAttribute("normal",new dt(n,3).copyVector3sArray(t.normals))}if(t.colors.length>0){var i=new Float32Array(3*t.colors.length);this.addAttribute("color",new dt(i,3).copyColorsArray(t.colors))}if(t.uvs.length>0){var r=new Float32Array(2*t.uvs.length);this.addAttribute("uv",new dt(r,2).copyVector2sArray(t.uvs))}if(t.uvs2.length>0){var o=new Float32Array(2*t.uvs2.length);this.addAttribute("uv2",new dt(o,2).copyVector2sArray(t.uvs2))}if(t.indices.length>0){var a=Et(t.indices)>65535?Uint32Array:Uint16Array,s=new a(3*t.indices.length);this.setIndex(new dt(s,1).copyIndicesArray(t.indices))}this.groups=t.groups;for(var l in t.morphTargets){for(var h=[],c=t.morphTargets[l],u=0,p=c.length;u<p;u++){var d=c[u],f=new xt(3*d.length,3);h.push(f.copyVector3sArray(d))}this.morphAttributes[l]=h}if(t.skinIndices.length>0){var m=new xt(4*t.skinIndices.length,4);this.addAttribute("skinIndex",m.copyVector4sArray(t.skinIndices))}if(t.skinWeights.length>0){var g=new xt(4*t.skinWeights.length,4);this.addAttribute("skinWeight",g.copyVector4sArray(t.skinWeights))}return null!==t.boundingSphere&&(this.boundingSphere=t.boundingSphere.clone()),null!==t.boundingBox&&(this.boundingBox=t.boundingBox.clone()),this},computeBoundingBox:function(){null===this.boundingBox&&(this.boundingBox=new $);var t=this.attributes.position;void 0!==t?this.boundingBox.setFromBufferAttribute(t):this.boundingBox.makeEmpty(),(isNaN(this.boundingBox.min.x)||isNaN(this.boundingBox.min.y)||isNaN(this.boundingBox.min.z))&&console.error('THREE.BufferGeometry.computeBoundingBox: Computed min/max have NaN values. The "position" attribute is likely to have NaN values.',this)},computeBoundingSphere:function(){var t=new $,e=new l;return function(){null===this.boundingSphere&&(this.boundingSphere=new tt);var n=this.attributes.position;if(n){var i=this.boundingSphere.center;t.setFromBufferAttribute(n),t.getCenter(i);for(var r=0,o=0,a=n.count;o<a;o++)e.x=n.getX(o),e.y=n.getY(o),e.z=n.getZ(o),r=Math.max(r,i.distanceToSquared(e));this.boundingSphere.radius=Math.sqrt(r),isNaN(this.boundingSphere.radius)&&console.error('THREE.BufferGeometry.computeBoundingSphere(): Computed radius is NaN. The "position" attribute is likely to have NaN values.',this)}}}(),computeFaceNormals:function(){},computeVertexNormals:function(){var t=this.index,e=this.attributes,n=this.groups;if(e.position){var i=e.position.array;if(void 0===e.normal)this.addAttribute("normal",new dt(new Float32Array(i.length),3));else for(var r=e.normal.array,o=0,a=r.length;o<a;o++)r[o]=0;var s,h,c,u=e.normal.array,p=new l,d=new l,f=new l,m=new l,g=new l;if(t){var v=t.array;0===n.length&&this.addGroup(0,v.length);for(var y=0,_=n.length;y<_;++y)for(var b=n[y],x=b.start,A=b.count,o=x,a=x+A;o<a;o+=3)s=3*v[o+0],h=3*v[o+1],c=3*v[o+2],p.fromArray(i,s),d.fromArray(i,h),f.fromArray(i,c),m.subVectors(f,d),g.subVectors(p,d),m.cross(g),u[s]+=m.x,u[s+1]+=m.y,u[s+2]+=m.z,u[h]+=m.x,u[h+1]+=m.y,u[h+2]+=m.z,u[c]+=m.x,u[c+1]+=m.y,u[c+2]+=m.z}else for(var o=0,a=i.length;o<a;o+=9)p.fromArray(i,o),d.fromArray(i,o+3),f.fromArray(i,o+6),m.subVectors(f,d),g.subVectors(p,d),m.cross(g),u[o]=m.x,u[o+1]=m.y,u[o+2]=m.z,u[o+3]=m.x,u[o+4]=m.y,u[o+5]=m.z,u[o+6]=m.x,u[o+7]=m.y,u[o+8]=m.z;this.normalizeNormals(),e.normal.needsUpdate=!0}},merge:function(t,e){if((t&&t.isBufferGeometry)===!1)return void console.error("THREE.BufferGeometry.merge(): geometry not an instance of THREE.BufferGeometry.",t);void 0===e&&(e=0);var n=this.attributes;for(var i in n)if(void 0!==t.attributes[i])for(var r=n[i],o=r.array,a=t.attributes[i],s=a.array,l=a.itemSize,h=0,c=l*e;h<s.length;
19h++,c++)o[c]=s[h];return this},normalizeNormals:function(){for(var t,e,n,i,r=this.attributes.normal,o=0,a=r.count;o<a;o++)t=r.getX(o),e=r.getY(o),n=r.getZ(o),i=1/Math.sqrt(t*t+e*e+n*n),r.setXYZ(o,t*i,e*i,n*i)},toNonIndexed:function(){if(null===this.index)return console.warn("THREE.BufferGeometry.toNonIndexed(): Geometry is already non-indexed."),this;var t=new Mt,e=this.index.array,n=this.attributes;for(var i in n){for(var r=n[i],o=r.array,a=r.itemSize,s=new o.constructor(e.length*a),l=0,h=0,c=0,u=e.length;c<u;c++){l=e[c]*a;for(var p=0;p<a;p++)s[h++]=o[l++]}t.addAttribute(i,new dt(s,a))}return t},toJSON:function(){var t={metadata:{version:4.5,type:"BufferGeometry",generator:"BufferGeometry.toJSON"}};if(t.uuid=this.uuid,t.type=this.type,""!==this.name&&(t.name=this.name),void 0!==this.parameters){var e=this.parameters;for(var n in e)void 0!==e[n]&&(t[n]=e[n]);return t}t.data={attributes:{}};var i=this.index;if(null!==i){var r=Array.prototype.slice.call(i.array);t.data.index={type:i.array.constructor.name,array:r}}var o=this.attributes;for(var n in o){var a=o[n],r=Array.prototype.slice.call(a.array);t.data.attributes[n]={itemSize:a.itemSize,type:a.array.constructor.name,array:r,normalized:a.normalized}}var s=this.groups;s.length>0&&(t.data.groups=JSON.parse(JSON.stringify(s)));var l=this.boundingSphere;return null!==l&&(t.data.boundingSphere={center:l.center.toArray(),radius:l.radius}),t},clone:function(){return(new Mt).copy(this)},copy:function(t){var e,n,i;this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null,this.name=t.name;var r=t.index;null!==r&&this.setIndex(r.clone());var o=t.attributes;for(e in o){var a=o[e];this.addAttribute(e,a.clone())}var s=t.morphAttributes;for(e in s){var l=[],h=s[e];for(n=0,i=h.length;n<i;n++)l.push(h[n].clone());this.morphAttributes[e]=l}var c=t.groups;for(n=0,i=c.length;n<i;n++){var u=c[n];this.addGroup(u.start,u.count,u.materialIndex)}var p=t.boundingBox;null!==p&&(this.boundingBox=p.clone());var d=t.boundingSphere;return null!==d&&(this.boundingSphere=d.clone()),this.drawRange.start=t.drawRange.start,this.drawRange.count=t.drawRange.count,this},dispose:function(){this.dispatchEvent({type:"dispose"})}}),Ct.prototype=Object.assign(Object.create(lt.prototype),{constructor:Ct,isMesh:!0,setDrawMode:function(t){this.drawMode=t},copy:function(t){return lt.prototype.copy.call(this,t),this.drawMode=t.drawMode,this},updateMorphTargets:function(){var t=this.geometry.morphTargets;if(void 0!==t&&t.length>0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(var e=0,n=t.length;e<n;e++)this.morphTargetInfluences.push(0),this.morphTargetDictionary[t[e].name]=e}},raycast:function(){function t(t,e,n,i,r,o,a){return ct.barycoordFromPoint(t,e,n,i,y),r.multiplyScalar(y.x),o.multiplyScalar(y.y),a.multiplyScalar(y.z),r.add(o).add(a),r.clone()}function e(t,e,n,i,r,o,a){var s,l=t.material;if(s=l.side===go?n.intersectTriangle(o,r,i,!0,a):n.intersectTriangle(i,r,o,l.side!==vo,a),null===s)return null;
19b.copy(a),b.applyMatrix4(t.matrixWorld);var h=e.ray.origin.distanceTo(b);return h<e.near||h>e.far?null:{distance:h,point:b.clone(),object:t}}function i(n,i,r,o,a,l,h,p){s.fromBufferAttribute(o,l),c.fromBufferAttribute(o,h),u.fromBufferAttribute(o,p);var d=e(n,i,r,s,c,u,_);return d&&(a&&(m.fromBufferAttribute(a,l),g.fromBufferAttribute(a,h),v.fromBufferAttribute(a,p),d.uv=t(_,s,c,u,m,g,v)),d.face=new ut(l,h,p,ct.normal(s,c,u)),d.faceIndex=l),d}var r=new h,o=new ot,a=new tt,s=new l,c=new l,u=new l,p=new l,d=new l,f=new l,m=new n,g=new n,v=new n,y=new l,_=new l,b=new l;return function(n,l){var h=this.geometry,y=this.material,b=this.matrixWorld;if(void 0!==y&&(null===h.boundingSphere&&h.computeBoundingSphere(),a.copy(h.boundingSphere),a.applyMatrix4(b),n.ray.intersectsSphere(a)!==!1&&(r.getInverse(b),o.copy(n.ray).applyMatrix4(r),null===h.boundingBox||o.intersectsBox(h.boundingBox)!==!1))){var x;if(h.isBufferGeometry){var A,w,E,T,S,M=h.index,C=h.attributes.position,P=h.attributes.uv;if(null!==M)for(T=0,S=M.count;T<S;T+=3)A=M.getX(T),w=M.getX(T+1),E=M.getX(T+2),x=i(this,n,o,C,P,A,w,E),x&&(x.faceIndex=Math.floor(T/3),l.push(x));else for(T=0,S=C.count;T<S;T+=3)A=T,w=T+1,E=T+2,x=i(this,n,o,C,P,A,w,E),x&&(x.index=A,l.push(x))}else if(h.isGeometry){var L,R,N,O,I=Array.isArray(y),D=h.vertices,B=h.faces,U=h.faceVertexUvs[0];U.length>0&&(O=U);for(var V=0,G=B.length;V<G;V++){var k=B[V],H=I?y[k.materialIndex]:y;if(void 0!==H){if(L=D[k.a],R=D[k.b],N=D[k.c],H.morphTargets===!0){var F=h.morphTargets,z=this.morphTargetInfluences;s.set(0,0,0),c.set(0,0,0),u.set(0,0,0);for(var j=0,X=F.length;j<X;j++){var W=z[j];if(0!==W){var Y=F[j].vertices;s.addScaledVector(p.subVectors(Y[k.a],L),W),c.addScaledVector(d.subVectors(Y[k.b],R),W),u.addScaledVector(f.subVectors(Y[k.c],N),W)}}s.add(L),c.add(R),u.add(N),L=s,R=c,N=u}if(x=e(this,n,o,L,R,N,_)){if(O&&O[V]){var K=O[V];m.copy(K[0]),g.copy(K[1]),v.copy(K[2]),x.uv=t(_,L,R,N,m,g,v)}x.face=k,x.faceIndex=V,l.push(x)}}}}}}}(),clone:function(){return new this.constructor(this.geometry,this.material).copy(this)}}),Pt.prototype=Object.create(St.prototype),Pt.prototype.constructor=Pt,Lt.prototype=Object.create(Mt.prototype),Lt.prototype.constructor=Lt,Rt.prototype=Object.create(St.prototype),Rt.prototype.constructor=Rt,Nt.prototype=Object.create(Mt.prototype),Nt.prototype.constructor=Nt,Ot.prototype=Object.assign(Object.create(lt.prototype),{constructor:Ot,isCamera:!0,copy:function(t){return lt.prototype.copy.call(this,t),this.matrixWorldInverse.copy(t.matrixWorldInverse),this.projectionMatrix.copy(t.projectionMatrix),this},getWorldDirection:function(){var t=new s;return function(e){var n=e||new l;return this.getWorldQuaternion(t),n.set(0,0,-1).applyQuaternion(t)}}(),clone:function(){return(new this.constructor).copy(this)}}),It.prototype=Object.assign(Object.create(Ot.prototype),{constructor:It,isPerspectiveCamera:!0,copy:function(t){return Ot.prototype.copy.call(this,t),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:function(t){var e=.5*this.getFilmHeight()/t;this.fov=2*xs.RAD2DEG*Math.atan(e),this.updateProjectionMatrix()},getFocalLength:function(){var t=Math.tan(.5*xs.DEG2RAD*this.fov);return.5*this.getFilmHeight()/t},getEffectiveFOV:function(){return 2*xs.RAD2DEG*Math.atan(Math.tan(.5*xs.DEG2RAD*this.fov)/this.zoom)},getFilmWidth:function(){return this.filmGauge*Math.min(this.aspect,1)},getFilmHeight:function(){return this.filmGauge/Math.max(this.aspect,1)}
19,setViewOffset:function(t,e,n,i,r,o){this.aspect=t/e,this.view={fullWidth:t,fullHeight:e,offsetX:n,offsetY:i,width:r,height:o},this.updateProjectionMatrix()},clearViewOffset:function(){this.view=null,this.updateProjectionMatrix()},updateProjectionMatrix:function(){var t=this.near,e=t*Math.tan(.5*xs.DEG2RAD*this.fov)/this.zoom,n=2*e,i=this.aspect*n,r=-.5*i,o=this.view;if(null!==o){var a=o.fullWidth,s=o.fullHeight;r+=o.offsetX*i/a,e-=o.offsetY*n/s,i*=o.width/a,n*=o.height/s}var l=this.filmOffset;0!==l&&(r+=t*l/this.getFilmWidth()),this.projectionMatrix.makePerspective(r,r+i,e,e-n,t,this.far)},toJSON:function(t){var e=lt.prototype.toJSON.call(this,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}}),Dt.prototype=Object.assign(Object.create(Ot.prototype),{constructor:Dt,isOrthographicCamera:!0,copy:function(t){return Ot.prototype.copy.call(this,t),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:function(t,e,n,i,r,o){this.view={fullWidth:t,fullHeight:e,offsetX:n,offsetY:i,width:r,height:o},this.updateProjectionMatrix()},clearViewOffset:function(){this.view=null,this.updateProjectionMatrix()},updateProjectionMatrix:function(){var t=(this.right-this.left)/(2*this.zoom),e=(this.top-this.bottom)/(2*this.zoom),n=(this.right+this.left)/2,i=(this.top+this.bottom)/2,r=n-t,o=n+t,a=i+e,s=i-e;if(null!==this.view){var l=this.zoom/(this.view.width/this.view.fullWidth),h=this.zoom/(this.view.height/this.view.fullHeight),c=(this.right-this.left)/this.view.width,u=(this.top-this.bottom)/this.view.height;r+=c*(this.view.offsetX/l),o=r+c*(this.view.width/l),a-=u*(this.view.offsetY/h),s=a-u*(this.view.height/h)}this.projectionMatrix.makeOrthographic(r,o,a,s,this.near,this.far)},toJSON:function(t){var e=lt.prototype.toJSON.call(this,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}});var kh=0;fe.prototype.isFogExp2=!0,fe.prototype.clone=function(){return new fe(this.color.getHex(),this.density)},fe.prototype.toJSON=function(t){return{type:"FogExp2",color:this.color.getHex(),density:this.density}},me.prototype.isFog=!0,me.prototype.clone=function(){return new me(this.color.getHex(),this.near,this.far)},me.prototype.toJSON=function(t){return{type:"Fog",color:this.color.getHex(),near:this.near,far:this.far}},ge.prototype=Object.assign(Object.create(lt.prototype),{constructor:ge,copy:function(t,e){return lt.prototype.copy.call(this,t,e),null!==t.background&&(this.background=t.background.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:function(t){var e=lt.prototype.toJSON.call(this,t);return null!==this.background&&(e.object.background=this.background.toJSON(t)),null!==this.fog&&(e.object.fog=this.fog.toJSON()),e}}),ve.prototype=Object.assign(Object.create(lt.prototype),{constructor:ve,isLensFlare:!0,copy:function(t){lt.prototype.copy.call(this,t),this.positionScreen.copy(t.positionScreen),this.customUpdateCallback=t.customUpdateCallback;for(var e=0,n=t.lensFlares.length;e<n;e++)this.lensFlares.push(t.lensFlares[e]);return this},add:function(t,e,n,i,r,o){void 0===e&&(e=-1),void 0===n&&(n=0),void 0===o&&(o=1),void 0===r&&(r=new W(16777215)),void 0===i&&(i=Eo),n=Math.min(n,Math.max(0,n)),this.lensFlares.push({texture:t,size:e,distance:n,x:0,y:0,z:0,scale:1,rotation:0,opacity:o,color:r,blending:i})},updateLensFlares:function(){var t,e,n=this.lensFlares.length,i=2*-this.positionScreen.x,r=2*-this.positionScreen.y;for(t=0;t<n;t++)e=this.lensFlares[t],e.x=this.positionScreen.x+i*e.distance,e.y=this.positionScreen.y+r*e.distance,e.wantedRotation=e.x*Math.PI*.25,e.rotation+=.25*(e.wantedRotation-e.rotation)}}),ye.prototype=Object.create(q.prototype),ye.prototype.constructor=ye,ye.prototype.isSpriteMaterial=!0,ye.prototype.copy=function(t){return q.prototype.copy.call(this,t),this.color.copy(t.color),this.map=t.map,this.rotation=t.rotation,this},_e.prototype=Object.assign(Object.create(lt.prototype),{constructor:_e,isSprite:!0,raycast:function(){var t=new l,e=new l,n=new l;return function(i,r){e.setFromMatrixPosition(this.matrixWorld),i.ray.closestPointToPoint(e,t),n.setFromMatrixScale(this.matrixWorld);var o=n.x*n.y/4;if(!(e.distanceToSquared(t)>o)){var a=i.ray.origin.distanceTo(t);a<i.near||a>i.far||r.push({distance:a,point:t.clone(),face:null,object:this})}}}(),clone:function(){return new this.constructor(this.material).copy(this)}}),be.prototype=Object.assign(Object.create(lt.prototype),{constructor:be,copy:function(t){lt.prototype.copy.call(this,t,!1);for(var e=t.levels,n=0,i=e.length;n<i;n++){var r=e[n];this.addLevel(r.object.clone(),r.distance)}return this},addLevel:function(t,e){void 0===e&&(e=0),e=Math.abs(e);for(var n=this.levels,i=0;i<n.length&&!(e<n[i].distance);i++);n.splice(i,0,{distance:e,object:t}),this.add(t)},getObjectForDistance:function(t){for(var e=this.levels,n=1,i=e.length;n<i&&!(t<e[n].distance);n++);return e[n-1].object},raycast:function(){var t=new l;return function(e,n){t.setFromMatrixPosition(this.matrixWorld);var i=e.ray.origin.distanceTo(t);this.getObjectForDistance(i).raycast(e,n)}}(),update:function(){var t=new l,e=new l;return function(n){var i=this.levels;if(i.length>1){t.setFromMatrixPosition(n.matrixWorld),e.setFromMatrixPosition(this.matrixWorld);var r=t.distanceTo(e);i[0].object.visible=!0;for(var o=1,a=i.length;o<a&&r>=i[o].distance;o++)i[o-1].object.visible=!1,i[o].object.visible=!0;for(;o<a;o++)i[o].object.visible=!1}}}(),toJSON:function(t){var e=lt.prototype.toJSON.call(this,t);e.object.levels=[];for(var n=this.levels,i=0,r=n.length;i<r;i++){var o=n[i];e.object.levels.push({object:o.object.uuid,distance:o.distance})}return e}}),Object.assign(xe.prototype,{calculateInverses:function(){this.boneInverses=[];for(var t=0,e=this.bones.length;t<e;t++){var n=new h;this.bones[t]&&n.getInverse(this.bones[t].matrixWorld),this.boneInverses.push(n)}},pose:function(){var t,e,n;for(e=0,n=this.bones.length;e<n;e++)t=this.bones[e],t&&t.matrixWorld.getInverse(this.boneInverses[e]);for(e=0,n=this.bones.length;e<n;e++)t=this.bones[e],t&&(t.parent&&t.parent.isBone?(t.matrix.getInverse(t.parent.matrixWorld),t.matrix.multiply(t.matrixWorld)):t.matrix.copy(t.matrixWorld),t.matrix.decompose(t.position,t.quaternion,t.scale))},update:function(){var t=new h,e=new h;return function(){for(var n=this.bones,i=this.boneInverses,r=this.boneMatrices,o=this.boneTexture,a=0,s=n.length;a<s;a++){var l=n[a]?n[a].matrixWorld:e;t.multiplyMatrices(l,i[a]),t.toArray(r,16*a)}void 0!==o&&(o.needsUpdate=!0)}}(),clone:function(){return new xe(this.bones,this.boneInverses)}}),Ae.prototype=Object.assign(Object.create(lt.prototype),{constructor:Ae,isBone:!0}),we.prototype=Object.assign(Object.create(Ct.prototype),{constructor:we,isSkinnedMesh:!0,initBones:function(){var t,e,n,i,r=[];if(this.geometry&&void 0!==this.geometry.bones){for(n=0,i=this.geometry.bones.length;n<i;n++)e=this.geometry.bones[n],t=new Ae,r.push(t),t.name=e.name,t.position.fromArray(e.pos),t.quaternion.fromArray(e.rotq),void 0!==e.scl&&t.scale.fromArray(e.scl);for(n=0,i=this.geometry.bones.length;n<i;n++)e=this.geometry.bones[n],e.parent!==-1&&null!==e.parent&&void 0!==r[e.parent]?r[e.parent].add(r[n]):this.add(r[n])}return this.updateMatrixWorld(!0),r},bind:function(t,e){this.skeleton=t,void 0===e&&(this.updateMatrixWorld(!0),this.skeleton.calculateInverses(),e=this.matrixWorld),this.bindMatrix.copy(e),this.bindMatrixInverse.getInverse(e)},pose:function(){this.skeleton.pose()},normalizeSkinWeights:function(){var t,e;if(this.geometry&&this.geometry.isGeometry)for(e=0;e<this.geometry.skinWeights.length;e++){var n=this.geometry.skinWeights[e];t=1/n.lengthManhattan(),t!==1/0?n.multiplyScalar(t):n.set(1,0,0,0)}else if(this.geometry&&this.geometry.isBufferGeometry){var i=new r,o=this.geometry.attributes.skinWeight;for(e=0;e<o.count;e++)i.x=o.getX(e),i.y=o.getY(e),i.z=o.getZ(e),i.w=o.getW(e),t=1/i.lengthManhattan(),t!==1/0?i.multiplyScalar(t):i.set(1,0,0,0),o.setXYZW(e,i.x,i.y,i.z,i.w)}},updateMatrixWorld:function(t){Ct.prototype.updateMatrixWorld.call(this,t),"attached"===this.bindMode?this.bindMatrixInverse.getInverse(this.matrixWorld):"detached"===this.bindMode?this.bindMatrixInverse.getInverse(this.bindMatrix):console.warn("THREE.SkinnedMesh: Unrecognized bindMode: "+this.bindMode)},clone:function(){return new this.constructor(this.geometry,this.material).copy(this)}}),Ee.prototype=Object.create(q.prototype),Ee.prototype.constructor=Ee,Ee.prototype.isLineBasicMaterial=!0,Ee.prototype.copy=function(t){return q.prototype.copy.call(this,t),this.color.copy(t.color),this.linewidth=t.linewidth,this.linecap=t.linecap,this.linejoin=t.linejoin,this},Te.prototype=Object.assign(Object.create(lt.prototype),{constructor:Te,isLine:!0,raycast:function(){var t=new h,e=new ot,
19n=new tt;return function(i,r){var o=i.linePrecision,a=o*o,s=this.geometry,h=this.matrixWorld;if(null===s.boundingSphere&&s.computeBoundingSphere(),n.copy(s.boundingSphere),n.applyMatrix4(h),i.ray.intersectsSphere(n)!==!1){t.getInverse(h),e.copy(i.ray).applyMatrix4(t);var c=new l,u=new l,p=new l,d=new l,f=this&&this.isLineSegments?2:1;if(s.isBufferGeometry){var m=s.index,g=s.attributes,v=g.position.array;if(null!==m)for(var y=m.array,_=0,b=y.length-1;_<b;_+=f){var x=y[_],A=y[_+1];c.fromArray(v,3*x),u.fromArray(v,3*A);var w=e.distanceSqToSegment(c,u,d,p);if(!(w>a)){d.applyMatrix4(this.matrixWorld);var E=i.ray.origin.distanceTo(d);E<i.near||E>i.far||r.push({distance:E,point:p.clone().applyMatrix4(this.matrixWorld),index:_,face:null,faceIndex:null,object:this})}}else for(var _=0,b=v.length/3-1;_<b;_+=f){c.fromArray(v,3*_),u.fromArray(v,3*_+3);var w=e.distanceSqToSegment(c,u,d,p);if(!(w>a)){d.applyMatrix4(this.matrixWorld);var E=i.ray.origin.distanceTo(d);E<i.near||E>i.far||r.push({distance:E,point:p.clone().applyMatrix4(this.matrixWorld),index:_,face:null,faceIndex:null,object:this})}}}else if(s.isGeometry)for(var T=s.vertices,S=T.length,_=0;_<S-1;_+=f){var w=e.distanceSqToSegment(T[_],T[_+1],d,p);if(!(w>a)){d.applyMatrix4(this.matrixWorld);var E=i.ray.origin.distanceTo(d);E<i.near||E>i.far||r.push({distance:E,point:p.clone().applyMatrix4(this.matrixWorld),index:_,face:null,faceIndex:null,object:this})}}}}}(),clone:function(){return new this.constructor(this.geometry,this.material).copy(this)}}),Se.prototype=Object.assign(Object.create(Te.prototype),{constructor:Se,isLineSegments:!0}),Me.prototype=Object.assign(Object.create(Te.prototype),{constructor:Me,isLineLoop:!0}),Ce.prototype=Object.create(q.prototype),Ce.prototype.constructor=Ce,Ce.prototype.isPointsMaterial=!0,Ce.prototype.copy=function(t){return q.prototype.copy.call(this,t),this.color.copy(t.color),this.map=t.map,this.size=t.size,this.sizeAttenuation=t.sizeAttenuation,this},Pe.prototype=Object.assign(Object.create(lt.prototype),{constructor:Pe,isPoints:!0,raycast:function(){var t=new h,e=new ot,n=new tt;return function(i,r){function o(t,n){var o=e.distanceSqToPoint(t);if(o<p){var s=e.closestPointToPoint(t);s.applyMatrix4(h);var l=i.ray.origin.distanceTo(s);if(l<i.near||l>i.far)return;r.push({distance:l,distanceToRay:Math.sqrt(o),point:s.clone(),index:n,face:null,object:a})}}var a=this,s=this.geometry,h=this.matrixWorld,c=i.params.Points.threshold;if(null===s.boundingSphere&&s.computeBoundingSphere(),n.copy(s.boundingSphere),n.applyMatrix4(h),n.radius+=c,i.ray.intersectsSphere(n)!==!1){t.getInverse(h),e.copy(i.ray).applyMatrix4(t);var u=c/((this.scale.x+this.scale.y+this.scale.z)/3),p=u*u,d=new l;if(s.isBufferGeometry){var f=s.index,m=s.attributes,g=m.position.array;if(null!==f)for(var v=f.array,y=0,_=v.length;y<_;y++){var b=v[y];d.fromArray(g,3*b),o(d,b)}else for(var y=0,x=g.length/3;y<x;y++)d.fromArray(g,3*y),o(d,y)}else for(var A=s.vertices,y=0,x=A.length;y<x;y++)o(A[y],y)}}}(),clone:function(){return new this.constructor(this.geometry,this.material).copy(this)}}),Le.prototype=Object.assign(Object.create(lt.prototype),{constructor:Le}),Re.prototype=Object.create(i.prototype),Re.prototype.constructor=Re,Ne.prototype=Object.create(i.prototype),Ne.prototype.constructor=Ne,Ne.prototype.isCompressedTexture=!0,Oe.prototype=Object.create(i.prototype),Oe.prototype.constructor=Oe,Ie.prototype=Object.create(i.prototype),Ie.prototype.constructor=Ie,Ie.prototype.isDepthTexture=!0,De.prototype=Object.create(Mt.prototype),De.prototype.constructor=De,Be.prototype=Object.create(St.prototype),Be.prototype.constructor=Be,Ue.prototype=Object.create(Mt.prototype),Ue.prototype.constructor=Ue,Ve.prototype=Object.create(St.prototype),Ve.prototype.constructor=Ve,Ge.prototype=Object.create(Mt.prototype),Ge.prototype.constructor=Ge,ke.prototype=Object.create(St.prototype),ke.prototype.constructor=ke,He.prototype=Object.create(Ge.prototype),He.prototype.constructor=He,Fe.prototype=Object.create(St.prototype),Fe.prototype.constructor=Fe,ze.prototype=Object.create(Ge.prototype),ze.prototype.constructor=ze,je.prototype=Object.create(St.prototype),je.prototype.constructor=je,Xe.prototype=Object.create(Ge.prototype),Xe.prototype.constructor=Xe,We.prototype=Object.create(St.prototype),We.prototype.constructor=We,Ye.prototype=Object.create(Ge.prototype),Ye.prototype.constructor=Ye,Ke.prototype=Object.create(St.prototype),Ke.prototype.constructor=Ke,Ze.prototype=Object.create(Mt.prototype),Ze.prototype.constructor=Ze,qe.prototype=Object.create(St.prototype),qe.prototype.constructor=qe,Qe.prototype=Object.create(Mt.prototype),Qe.prototype.constructor=Qe,Je.prototype=Object.create(St.prototype),Je.prototype.constructor=Je,$e.prototype=Object.create(Mt.prototype),$e.prototype.constructor=$e;var Hh={area:function(t){for(var e=t.length,n=0,i=e-1,r=0;r<e;i=r++)n+=t[i].x*t[r].y-t[r].x*t[i].y;return.5*n},triangulate:function(){function t(t,e,n,i,r,o){var a,s,l,h,c,u,p,d,f;if(s=t[o[e]].x,l=t[o[e]].y,h=t[o[n]].x,c=t[o[n]].y,u=t[o[i]].x,p=t[o[i]].y,(h-s)*(p-l)-(c-l)*(u-s)<=0)return!1;var m,g,v,y,_,b,x,A,w,E,T,S,M,C,P;for(m=u-h,g=p-c,v=s-u,y=l-p,_=h-s,b=c-l,a=0;a<r;a++)if(d=t[o[a]].x,f=t[o[a]].y,!(d===s&&f===l||d===h&&f===c||d===u&&f===p)&&(x=d-s,A=f-l,w=d-h,E=f-c,T=d-u,S=f-p,P=m*E-g*w,M=_*A-b*x,C=v*S-y*T,P>=-Number.EPSILON&&C>=-Number.EPSILON&&M>=-Number.EPSILON))return!1;return!0}return function(e,n){var i=e.length;if(i<3)return null;var r,o,a,s=[],l=[],h=[];if(Hh.area(e)>0)for(o=0;o<i;o++)l[o]=o;else for(o=0;o<i;o++)l[o]=i-1-o;var c=i,u=2*c;for(o=c-1;c>2;){if(u--<=0)return console.warn("THREE.ShapeUtils: Unable to triangulate polygon! in triangulate()"),n?h:s;if(r=o,c<=r&&(r=0),o=r+1,c<=o&&(o=0),a=o+1,c<=a&&(a=0),t(e,r,o,a,c,l)){var p,d,f,m,g;for(p=l[r],d=l[o],f=l[a],s.push([e[p],e[d],e[f]]),h.push([l[r],l[o],l[a]]),m=o,g=o+1;g<c;m++,g++)l[m]=l[g];c--,u=2*c}}return n?h:s}}(),triangulateShape:function(t,e){function n(t){var e=t.length;e>2&&t[e-1].equals(t[0])&&t.pop()}function i(t,e,n){return t.x!==e.x?t.x<e.x?t.x<=n.x&&n.x<=e.x:e.x<=n.x&&n.x<=t.x:t.y<e.y?t.y<=n.y&&n.y<=e.y:e.y<=n.y&&n.y<=t.y}function r(t,e,n,r,o){var a=e.x-t.x,s=e.y-t.y,l=r.x-n.x,h=r.y-n.y,c=t.x-n.x,u=t.y-n.y,p=s*l-a*h,d=s*c-a*u;if(Math.abs(p)>Number.EPSILON){var f;if(p>0){if(d<0||d>p)return[];if(f=h*c-l*u,f<0||f>p)return[]}else{if(d>0||d<p)return[];if(f=h*c-l*u,f>0||f<p)return[]}if(0===f)return!o||0!==d&&d!==p?[t]:[];if(f===p)return!o||0!==d&&d!==p?[e]:[];if(0===d)return[n];if(d===p)return[r];var m=f/p;return[{x:t.x+m*a,y:t.y+m*s}]}if(0!==d||h*c!==l*u)return[];var g=0===a&&0===s,v=0===l&&0===h;if(g&&v)return t.x!==n.x||t.y!==n.y?[]:[t];if(g)return i(n,r,t)?[t]:[];if(v)return i(t,e,n)?[n]:[];var y,_,b,x,A,w,E,T;return 0!==a?(t.x<e.x?(y=t,b=t.x,_=e,x=e.x):(y=e,b=e.x,_=t,x=t.x),n.x<r.x?(A=n,E=n.x,w=r,T=r.x):(A=r,E=r.x,w=n,T=n.x)):(t.y<e.y?(y=t,b=t.y,_=e,x=e.y):(y=e,b=e.y,_=t,x=t.y),n.y<r.y?(A=n,E=n.y,w=r,T=r.y):(A=r,E=r.y,w=n,T=n.y)),b<=E?x<E?[]:x===E?o?[]:[A]:x<=T?[A,_]:[A,w]:b>T?[]:b===T?o?[]:[y]:x<=T?[y,_]:[y,w]}
19function o(t,e,n,i){var r=e.x-t.x,o=e.y-t.y,a=n.x-t.x,s=n.y-t.y,l=i.x-t.x,h=i.y-t.y,c=r*s-o*a,u=r*h-o*l;if(Math.abs(c)>Number.EPSILON){var p=l*s-h*a;return c>0?u>=0&&p>=0:u>=0||p>=0}return u>0}function a(t,e){function n(t,e){var n=y.length-1,i=t-1;i<0&&(i=n);var r=t+1;r>n&&(r=0);var a=o(y[t],y[i],y[r],s[e]);if(!a)return!1;var l=s.length-1,h=e-1;h<0&&(h=l);var c=e+1;return c>l&&(c=0),a=o(s[e],s[h],s[c],y[t]),!!a}function i(t,e){var n,i,o;for(n=0;n<y.length;n++)if(i=n+1,i%=y.length,o=r(t,e,y[n],y[i],!0),o.length>0)return!0;return!1}function a(t,n){var i,o,a,s,l;for(i=0;i<_.length;i++)for(o=e[_[i]],a=0;a<o.length;a++)if(s=a+1,s%=o.length,l=r(t,n,o[a],o[s],!0),l.length>0)return!0;return!1}for(var s,l,h,c,u,p,d,f,m,g,v,y=t.concat(),_=[],b=[],x=0,A=e.length;x<A;x++)_.push(x);for(var w=0,E=2*_.length;_.length>0;){if(E--,E<0){console.log("Infinite Loop! Holes left:"+_.length+", Probably Hole outside Shape!");break}for(h=w;h<y.length;h++){c=y[h],l=-1;for(var x=0;x<_.length;x++)if(p=_[x],d=c.x+":"+c.y+":"+p,void 0===b[d]){s=e[p];for(var T=0;T<s.length;T++)if(u=s[T],n(h,T)&&!i(c,u)&&!a(c,u)){l=T,_.splice(x,1),f=y.slice(0,h+1),m=y.slice(h),g=s.slice(l),v=s.slice(0,l+1),y=f.concat(g).concat(v).concat(m),w=h;break}if(l>=0)break;b[d]=!0}if(l>=0)break}}return y}n(t),e.forEach(n);for(var s,l,h,c,u,p,d={},f=t.concat(),m=0,g=e.length;m<g;m++)Array.prototype.push.apply(f,e[m]);for(s=0,l=f.length;s<l;s++)u=f[s].x+":"+f[s].y,void 0!==d[u]&&console.warn("THREE.ShapeUtils: Duplicate point",u,s),d[u]=s;var v=a(t,e),y=Hh.triangulate(v,!1);for(s=0,l=y.length;s<l;s++)for(c=y[s],h=0;h<3;h++)u=c[h].x+":"+c[h].y,p=d[u],void 0!==p&&(c[h]=p);return y.concat()},isClockWise:function(t){return Hh.area(t)<0}};tn.prototype=Object.create(St.prototype),tn.prototype.constructor=tn,en.prototype=Object.create(Mt.prototype),en.prototype.constructor=en,en.prototype.getArrays=function(){var t=this.getAttribute("position"),e=t?Array.prototype.slice.call(t.array):[],n=this.getAttribute("uv"),i=n?Array.prototype.slice.call(n.array):[],r=this.index,o=r?Array.prototype.slice.call(r.array):[];return{position:e,uv:i,index:o}},en.prototype.addShapeList=function(t,e){var n=t.length;e.arrays=this.getArrays();for(var i=0;i<n;i++){var r=t[i];this.addShape(r,e)}this.setIndex(e.arrays.index),this.addAttribute("position",new xt(e.arrays.position,3)),this.addAttribute("uv",new xt(e.arrays.uv,2))},en.prototype.addShape=function(t,e){function i(t,e,n){return e||console.error("THREE.ExtrudeGeometry: vec does not exist"),e.clone().multiplyScalar(n).add(t)}function r(t,e,i){var r,o,a=1,s=t.x-e.x,l=t.y-e.y,h=i.x-t.x,c=i.y-t.y,u=s*s+l*l,p=s*c-l*h;if(Math.abs(p)>Number.EPSILON){var d=Math.sqrt(u),f=Math.sqrt(h*h+c*c),m=e.x-l/d,g=e.y+s/d,v=i.x-c/f,y=i.y+h/f,_=((v-m)*c-(y-g)*h)/(s*c-l*h);r=m+s*_-t.x,o=g+l*_-t.y;var b=r*r+o*o;if(b<=2)return new n(r,o);a=Math.sqrt(b/2)}else{var x=!1;s>Number.EPSILON?h>Number.EPSILON&&(x=!0):s<-Number.EPSILON?h<-Number.EPSILON&&(x=!0):Math.sign(l)===Math.sign(c)&&(x=!0),x?(r=-l,o=s,a=Math.sqrt(u)):(r=s,o=l,a=Math.sqrt(u/2))}return new n(r/a,o/a)}function o(){var t=b.length/3;if(C){var n=0,i=q*n;for($=0;$<Q;$++)Z=F[$],c(Z[2]+i,Z[1]+i,Z[0]+i);for(n=L+2*M,i=q*n,$=0;$<Q;$++)Z=F[$],c(Z[0]+i,Z[1]+i,Z[2]+i)}else{for($=0;$<Q;$++)Z=F[$],c(Z[2],Z[1],Z[0]);for($=0;$<Q;$++)Z=F[$],c(Z[0]+q*L,Z[1]+q*L,Z[2]+q*L)}U.addGroup(t,b.length/3-t,void 0!==e.material?e.material:0)}function a(){var t=b.length/3,n=0;for(s(z,n),n+=z.length,D=0,B=k.length;D<B;D++)I=k[D],s(I,n),n+=I.length;U.addGroup(t,b.length/3-t,void 0!==e.extrudeMaterial?e.extrudeMaterial:1)}function s(t,e){var n,i;for($=t.length;--$>=0;){n=$,i=$-1,i<0&&(i=t.length-1);var r=0,o=L+2*M;for(r=0;r<o;r++){var a=q*r,s=q*(r+1),l=e+n+a,h=e+i+a,c=e+i+s,p=e+n+s;u(l,h,c,p,t,r,o,n,i)}}}function h(t,e,n){w.push(t),w.push(e),w.push(n)}function c(t,e,n){p(t),p(e),p(n);var i=b.length/3,r=O.generateTopUV(U,b,i-3,i-2,i-1);d(r[0]),d(r[1]),d(r[2])}function u(t,e,n,i,r,o,a,s,l){p(t),p(e),p(i),p(e),p(n),p(i);var h=b.length/3,c=O.generateSideWallUV(U,b,h-6,h-3,h-2,h-1);d(c[0]),d(c[1]),d(c[3]),d(c[1]),d(c[2]),d(c[3])}
19function p(t){x.push(b.length/3),b.push(w[3*t+0]),b.push(w[3*t+1]),b.push(w[3*t+2])}function d(t){A.push(t.x),A.push(t.y)}var f,m,g,v,y,_=e.arrays?e.arrays:this.getArrays(),b=_.position,x=_.index,A=_.uv,w=[],E=void 0!==e.amount?e.amount:100,T=void 0!==e.bevelThickness?e.bevelThickness:6,S=void 0!==e.bevelSize?e.bevelSize:T-2,M=void 0!==e.bevelSegments?e.bevelSegments:3,C=void 0===e.bevelEnabled||e.bevelEnabled,P=void 0!==e.curveSegments?e.curveSegments:12,L=void 0!==e.steps?e.steps:1,R=e.extrudePath,N=!1,O=void 0!==e.UVGenerator?e.UVGenerator:tn.WorldUVGenerator; 20R&&(f=R.getSpacedPoints(L),N=!0,C=!1,m=void 0!==e.frames?e.frames:R.computeFrenetFrames(L,!1),g=new l,v=new l,y=new l),C||(M=0,T=0,S=0);var I,D,B,U=this,V=t.extractPoints(P),G=V.shape,k=V.holes,H=!Hh.isClockWise(G);if(H){for(G=G.reverse(),D=0,B=k.length;D<B;D++)I=k[D],Hh.isClockWise(I)&&(k[D]=I.reverse());H=!1}var F=Hh.triangulateShape(G,k),z=G;for(D=0,B=k.length;D<B;D++)I=k[D],G=G.concat(I);for(var j,X,W,Y,K,Z,q=G.length,Q=F.length,J=[],$=0,tt=z.length,et=tt-1,nt=$+1;$<tt;$++,et++,nt++)et===tt&&(et=0),nt===tt&&(nt=0),J[$]=r(z[$],z[et],z[nt]);var it,rt=[],ot=J.concat();for(D=0,B=k.length;D<B;D++){for(I=k[D],it=[],$=0,tt=I.length,et=tt-1,nt=$+1;$<tt;$++,et++,nt++)et===tt&&(et=0),nt===tt&&(nt=0),it[$]=r(I[$],I[et],I[nt]);rt.push(it),ot=ot.concat(it)}for(j=0;j<M;j++){for(W=j/M,Y=T*Math.cos(W*Math.PI/2),X=S*Math.sin(W*Math.PI/2),$=0,tt=z.length;$<tt;$++)K=i(z[$],J[$],X),h(K.x,K.y,-Y);for(D=0,B=k.length;D<B;D++)for(I=k[D],it=rt[D],$=0,tt=I.length;$<tt;$++)K=i(I[$],it[$],X),h(K.x,K.y,-Y)}for(X=S,$=0;$<q;$++)K=C?i(G[$],ot[$],X):G[$],N?(v.copy(m.normals[0]).multiplyScalar(K.x),g.copy(m.binormals[0]).multiplyScalar(K.y),y.copy(f[0]).add(v).add(g),h(y.x,y.y,y.z)):h(K.x,K.y,0);var at;for(at=1;at<=L;at++)for($=0;$<q;$++)K=C?i(G[$],ot[$],X):G[$],N?(v.copy(m.normals[at]).multiplyScalar(K.x),g.copy(m.binormals[at]).multiplyScalar(K.y),y.copy(f[at]).add(v).add(g),h(y.x,y.y,y.z)):h(K.x,K.y,E/L*at);for(j=M-1;j>=0;j--){for(W=j/M,Y=T*Math.cos(W*Math.PI/2),X=S*Math.sin(W*Math.PI/2),$=0,tt=z.length;$<tt;$++)K=i(z[$],J[$],X),h(K.x,K.y,E+Y);for(D=0,B=k.length;D<B;D++)for(I=k[D],it=rt[D],$=0,tt=I.length;$<tt;$++)K=i(I[$],it[$],X),N?h(K.x,K.y+f[L-1].y,f[L-1].x+Y):h(K.x,K.y,E+Y)}o(),a(),e.arrays||(this.setIndex(x),this.addAttribute("position",new xt(b,3)),this.addAttribute("uv",new xt(e.arrays.uv,2)))},tn.WorldUVGenerator={generateTopUV:function(t,e,i,r,o){var a=e[3*i],s=e[3*i+1],l=e[3*r],h=e[3*r+1],c=e[3*o],u=e[3*o+1];return[new n(a,s),new n(l,h),new n(c,u)]},generateSideWallUV:function(t,e,i,r,o,a){var s=e[3*i],l=e[3*i+1],h=e[3*i+2],c=e[3*r],u=e[3*r+1],p=e[3*r+2],d=e[3*o],f=e[3*o+1],m=e[3*o+2],g=e[3*a],v=e[3*a+1],y=e[3*a+2];return Math.abs(l-u)<.01?[new n(s,1-h),new n(c,1-p),new n(d,1-m),new n(g,1-y)]:[new n(l,1-h),new n(u,1-p),new n(f,1-m),new n(v,1-y)]}},nn.prototype=Object.create(St.prototype),nn.prototype.constructor=nn,rn.prototype=Object.create(en.prototype),rn.prototype.constructor=rn,on.prototype=Object.create(St.prototype),on.prototype.constructor=on,an.prototype=Object.create(Mt.prototype),an.prototype.constructor=an,sn.prototype=Object.create(St.prototype),sn.prototype.constructor=sn,ln.prototype=Object.create(Mt.prototype),ln.prototype.constructor=ln,hn.prototype=Object.create(St.prototype),hn.prototype.constructor=hn,cn.prototype=Object.create(Mt.prototype),cn.prototype.constructor=cn,un.prototype=Object.create(St.prototype),un.prototype.constructor=un,pn.prototype=Object.create(Mt.prototype),pn.prototype.constructor=pn,dn.prototype=Object.create(Mt.prototype),dn.prototype.constructor=dn,fn.prototype=Object.create(St.prototype),fn.prototype.constructor=fn,mn.prototype=Object.create(Mt.prototype),mn.prototype.constructor=mn,gn.prototype=Object.create(fn.prototype),gn.prototype.constructor=gn,vn.prototype=Object.create(mn.prototype),vn.prototype.constructor=vn,yn.prototype=Object.create(St.prototype),yn.prototype.constructor=yn,_n.prototype=Object.create(Mt.prototype),_n.prototype.constructor=_n;var Fh=Object.freeze({WireframeGeometry:De,ParametricGeometry:Be,ParametricBufferGeometry:Ue,TetrahedronGeometry:ke,TetrahedronBufferGeometry:He,OctahedronGeometry:Fe,OctahedronBufferGeometry:ze,IcosahedronGeometry:je,IcosahedronBufferGeometry:Xe,DodecahedronGeometry:We,DodecahedronBufferGeometry:Ye,PolyhedronGeometry:Ve,PolyhedronBufferGeometry:Ge,TubeGeometry:Ke,TubeBufferGeometry:Ze,TorusKnotGeometry:qe,TorusKnotBufferGeometry:Qe,TorusGeometry:Je,TorusBufferGeometry:$e,TextGeometry:nn,TextBufferGeometry:rn,SphereGeometry:on,SphereBufferGeometry:an,RingGeometry:sn,RingBufferGeometry:ln,PlaneGeometry:Rt,PlaneBufferGeometry:Nt,LatheGeometry:hn,LatheBufferGeometry:cn,ShapeGeometry:un,ShapeBufferGeometry:pn,ExtrudeGeometry:tn,ExtrudeBufferGeometry:en,EdgesGeometry:dn,ConeGeometry:gn,ConeBufferGeometry:vn,CylinderGeometry:fn,CylinderBufferGeometry:mn,CircleGeometry:yn,CircleBufferGeometry:_n,BoxGeometry:Pt,BoxBufferGeometry:Lt});bn.prototype=Object.create(Q.prototype),bn.prototype.constructor=bn,bn.prototype.isShadowMaterial=!0,xn.prototype=Object.create(Q.prototype),xn.prototype.constructor=xn,xn.prototype.isRawShaderMaterial=!0,An.prototype=Object.create(q.prototype),An.prototype.constructor=An,An.prototype.isMeshStandardMaterial=!0,An.prototype.copy=function(t){return q.prototype.copy.call(this,t),this.defines={STANDARD:""},this.color.copy(t.color),this.roughness=t.roughness,this.metalness=t.metalness,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.normalScale.copy(t.normalScale),this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.roughnessMap=t.roughnessMap,this.metalnessMap=t.metalnessMap,this.alphaMap=t.alphaMap,this.envMap=t.envMap,this.envMapIntensity=t.envMapIntensity,this.refractionRatio=t.refractionRatio,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.wireframeLinecap=t.wireframeLinecap,this.wireframeLinejoin=t.wireframeLinejoin,this.skinning=t.skinning,this.morphTargets=t.morphTargets,this.morphNormals=t.morphNormals,this},wn.prototype=Object.create(An.prototype),wn.prototype.constructor=wn,wn.prototype.isMeshPhysicalMaterial=!0,wn.prototype.copy=function(t){return An.prototype.copy.call(this,t),this.defines={PHYSICAL:""},this.reflectivity=t.reflectivity,this.clearCoat=t.clearCoat,this.clearCoatRoughness=t.clearCoatRoughness,this},En.prototype=Object.create(q.prototype),En.prototype.constructor=En,En.prototype.isMeshPhongMaterial=!0,En.prototype.copy=function(t){return q.prototype.copy.call(this,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.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.skinning=t.skinning,this.morphTargets=t.morphTargets,this.morphNormals=t.morphNormals,this},Tn.prototype=Object.create(En.prototype),Tn.prototype.constructor=Tn,Tn.prototype.isMeshToonMaterial=!0,Tn.prototype.copy=function(t){return En.prototype.copy.call(this,t),this.gradientMap=t.gradientMap,this},Sn.prototype=Object.create(q.prototype),Sn.prototype.constructor=Sn,Sn.prototype.isMeshNormalMaterial=!0,Sn.prototype.copy=function(t){return q.prototype.copy.call(this,t),this.bumpMap=t.bumpMap,this.bumpScale=t.bumpScale,this.normalMap=t.normalMap,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.skinning=t.skinning,this.morphTargets=t.morphTargets,this.morphNormals=t.morphNormals,this},Mn.prototype=Object.create(q.prototype),Mn.prototype.constructor=Mn,Mn.prototype.isMeshLambertMaterial=!0,Mn.prototype.copy=function(t){return q.prototype.copy.call(this,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.skinning=t.skinning,this.morphTargets=t.morphTargets,this.morphNormals=t.morphNormals,this},Cn.prototype=Object.create(q.prototype),Cn.prototype.constructor=Cn,Cn.prototype.isLineDashedMaterial=!0,Cn.prototype.copy=function(t){return q.prototype.copy.call(this,t),this.color.copy(t.color),this.linewidth=t.linewidth,this.scale=t.scale,this.dashSize=t.dashSize,this.gapSize=t.gapSize,this};
20var zh=Object.freeze({ShadowMaterial:bn,SpriteMaterial:ye,RawShaderMaterial:xn,ShaderMaterial:Q,PointsMaterial:Ce,MeshPhysicalMaterial:wn,MeshStandardMaterial:An,MeshPhongMaterial:En,MeshToonMaterial:Tn,MeshNormalMaterial:Sn,MeshLambertMaterial:Mn,MeshDepthMaterial:J,MeshBasicMaterial:pt,LineDashedMaterial:Cn,LineBasicMaterial:Ee,Material:q}),jh={enabled:!1,files:{},add:function(t,e){this.enabled!==!1&&(this.files[t]=e)},get:function(t){if(this.enabled!==!1)return this.files[t]},remove:function(t){delete this.files[t]},clear:function(){this.files={}}},Xh=new Pn;Object.assign(Ln.prototype,{load:function(t,e,n,i){void 0===t&&(t=""),void 0!==this.path&&(t=this.path+t);var r=this,o=jh.get(t);if(void 0!==o)return r.manager.itemStart(t),setTimeout(function(){e&&e(o),r.manager.itemEnd(t)},0),o;var a=/^data:(.*?)(;base64)?,(.*)$/,s=t.match(a);if(s){var l=s[1],h=!!s[2],c=s[3];c=window.decodeURIComponent(c),h&&(c=window.atob(c));try{var u,p=(this.responseType||"").toLowerCase();switch(p){case"arraybuffer":case"blob":u=new ArrayBuffer(c.length);for(var d=new Uint8Array(u),f=0;f<c.length;f++)d[f]=c.charCodeAt(f);"blob"===p&&(u=new Blob([u],{type:l}));break;case"document":var m=new DOMParser;u=m.parseFromString(c,l);break;case"json":u=JSON.parse(c);break;default:u=c}window.setTimeout(function(){e&&e(u),r.manager.itemEnd(t)},0)}catch(g){window.setTimeout(function(){i&&i(g),r.manager.itemEnd(t),r.manager.itemError(t)},0)}}else{var v=new XMLHttpRequest;v.open("GET",t,!0),v.addEventListener("load",function(n){var o=n.target.response;jh.add(t,o),200===this.status?(e&&e(o),r.manager.itemEnd(t)):0===this.status?(console.warn("THREE.FileLoader: HTTP Status 0 received."),e&&e(o),r.manager.itemEnd(t)):(i&&i(n),r.manager.itemEnd(t),r.manager.itemError(t))},!1),void 0!==n&&v.addEventListener("progress",function(t){n(t)},!1),v.addEventListener("error",function(e){i&&i(e),r.manager.itemEnd(t),r.manager.itemError(t)},!1),void 0!==this.responseType&&(v.responseType=this.responseType),void 0!==this.withCredentials&&(v.withCredentials=this.withCredentials),v.overrideMimeType&&v.overrideMimeType(void 0!==this.mimeType?this.mimeType:"text/plain");for(var y in this.requestHeader)v.setRequestHeader(y,this.requestHeader[y]);v.send(null)}return r.manager.itemStart(t),v},setPath:function(t){return this.path=t,this},setResponseType:function(t){return this.responseType=t,this},setWithCredentials:function(t){return this.withCredentials=t,this},setMimeType:function(t){return this.mimeType=t,this},setRequestHeader:function(t){return this.requestHeader=t,this}}),Object.assign(Rn.prototype,{load:function(t,e,n,i){function r(r){l.load(t[r],function(t){var n=o._parser(t,!0);a[r]={width:n.width,height:n.height,format:n.format,mipmaps:n.mipmaps},h+=1,6===h&&(1===n.mipmapCount&&(s.minFilter=xa),s.format=n.format,s.needsUpdate=!0,e&&e(s))},n,i)}var o=this,a=[],s=new Ne;s.image=a;var l=new Ln(this.manager);if(l.setPath(this.path),l.setResponseType("arraybuffer"),Array.isArray(t))for(var h=0,c=0,u=t.length;c<u;++c)r(c);else l.load(t,function(t){var n=o._parser(t,!0);if(n.isCubemap)for(var i=n.mipmaps.length/n.mipmapCount,r=0;r<i;r++){a[r]={mipmaps:[]};for(var l=0;l<n.mipmapCount;l++)a[r].mipmaps.push(n.mipmaps[r*n.mipmapCount+l]),a[r].format=n.format,a[r].width=n.width,a[r].height=n.height}else s.image.width=n.width,s.image.height=n.height,s.mipmaps=n.mipmaps;1===n.mipmapCount&&(s.minFilter=xa),s.format=n.format,s.needsUpdate=!0,e&&e(s)},n,i);return s},setPath:function(t){return this.path=t,this}}),Object.assign(Nn.prototype,{load:function(t,e,n,i){var r=this,o=new c,a=new Ln(this.manager);return a.setResponseType("arraybuffer"),a.load(t,function(t){var n=r._parser(t);n&&(void 0!==n.image?o.image=n.image:void 0!==n.data&&(o.image.width=n.width,o.image.height=n.height,o.image.data=n.data),o.wrapS=void 0!==n.wrapS?n.wrapS:ga,o.wrapT=void 0!==n.wrapT?n.wrapT:ga,o.magFilter=void 0!==n.magFilter?n.magFilter:xa,o.minFilter=void 0!==n.minFilter?n.minFilter:wa,o.anisotropy=void 0!==n.anisotropy?n.anisotropy:1,void 0!==n.format&&(o.format=n.format),void 0!==n.type&&(o.type=n.type),void 0!==n.mipmaps&&(o.mipmaps=n.mipmaps),1===n.mipmapCount&&(o.minFilter=xa),o.needsUpdate=!0,e&&e(o,n))},n,i),o}}),Object.assign(On.prototype,{load:function(t,e,n,i){void 0===t&&(t=""),void 0!==this.path&&(t=this.path+t);var r=this,o=jh.get(t);if(void 0!==o)return r.manager.itemStart(t),setTimeout(function(){e&&e(o),r.manager.itemEnd(t)},0),o;var a=document.createElementNS("http://www.w3.org/1999/xhtml","img");return a.addEventListener("load",function(){jh.add(t,this),e&&e(this),r.manager.itemEnd(t)},!1),a.addEventListener("error",function(e){i&&i(e),r.manager.itemEnd(t),r.manager.itemError(t)},!1),"data:"!==t.substr(0,5)&&void 0!==this.crossOrigin&&(a.crossOrigin=this.crossOrigin),r.manager.itemStart(t),a.src=t,a},setCrossOrigin:function(t){return this.crossOrigin=t,this},setPath:function(t){return this.path=t,this}}),Object.assign(In.prototype,{load:function(t,e,n,i){function r(n){a.load(t[n],function(t){o.images[n]=t,s++,6===s&&(o.needsUpdate=!0,e&&e(o))},void 0,i)}var o=new u,a=new On(this.manager);a.setCrossOrigin(this.crossOrigin),a.setPath(this.path);for(var s=0,l=0;l<t.length;++l)r(l);return o},setCrossOrigin:function(t){return this.crossOrigin=t,this},setPath:function(t){return this.path=t,this}}),Object.assign(Dn.prototype,{load:function(t,e,n,r){var o=new On(this.manager);o.setCrossOrigin(this.crossOrigin),o.setPath(this.path);var a=new i;return a.image=o.load(t,function(){var n=t.search(/\.(jpg|jpeg)$/)>0||0===t.search(/^data\:image\/jpeg/);a.format=n?Ua:Va,a.needsUpdate=!0,void 0!==e&&e(a)},n,r),a},setCrossOrigin:function(t){return this.crossOrigin=t,this},setPath:function(t){return this.path=t,this}}),Bn.prototype=Object.assign(Object.create(lt.prototype),{constructor:Bn,isLight:!0,copy:function(t){return lt.prototype.copy.call(this,t),this.color.copy(t.color),this.intensity=t.intensity,this},toJSON:function(t){var e=lt.prototype.toJSON.call(this,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}}),Un.prototype=Object.assign(Object.create(Bn.prototype),{constructor:Un,isHemisphereLight:!0,copy:function(t){return Bn.prototype.copy.call(this,t),this.groundColor.copy(t.groundColor),this}}),Object.assign(Vn.prototype,{copy:function(t){return this.camera=t.camera.clone(),this.bias=t.bias,this.radius=t.radius,this.mapSize.copy(t.mapSize),this},clone:function(){return(new this.constructor).copy(this)},toJSON:function(){var t={};return 0!==this.bias&&(t.bias=this.bias),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}}),Gn.prototype=Object.assign(Object.create(Vn.prototype),{constructor:Gn,isSpotLightShadow:!0,update:function(t){var e=this.camera,n=2*xs.RAD2DEG*t.angle,i=this.mapSize.width/this.mapSize.height,r=t.distance||e.far;n===e.fov&&i===e.aspect&&r===e.far||(e.fov=n,e.aspect=i,e.far=r,e.updateProjectionMatrix())}}),kn.prototype=Object.assign(Object.create(Bn.prototype),{constructor:kn,isSpotLight:!0,copy:function(t){return Bn.prototype.copy.call(this,t),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}}),Hn.prototype=Object.assign(Object.create(Bn.prototype),{constructor:Hn,isPointLight:!0,copy:function(t){return Bn.prototype.copy.call(this,t),this.distance=t.distance,this.decay=t.decay,this.shadow=t.shadow.clone(),this}}),Fn.prototype=Object.assign(Object.create(Vn.prototype),{constructor:Fn}),zn.prototype=Object.assign(Object.create(Bn.prototype),{constructor:zn,isDirectionalLight:!0,copy:function(t){return Bn.prototype.copy.call(this,t),this.target=t.target.clone(),this.shadow=t.shadow.clone(),this}}),jn.prototype=Object.assign(Object.create(Bn.prototype),{constructor:jn,isAmbientLight:!0}),Xn.prototype=Object.assign(Object.create(Bn.prototype),{constructor:Xn,isRectAreaLight:!0,copy:function(t){return Bn.prototype.copy.call(this,t),this.width=t.width,this.height=t.height,this},toJSON:function(t){var e=Bn.prototype.toJSON.call(this,t);return e.object.width=this.width,e.object.height=this.height,e}});var Wh={arraySlice:function(t,e,n){return Wh.isTypedArray(t)?new t.constructor(t.subarray(e,void 0!==n?n:t.length)):t.slice(e,n)},convertArray:function(t,e,n){return!t||!n&&t.constructor===e?t:"number"==typeof e.BYTES_PER_ELEMENT?new e(t):Array.prototype.slice.call(t)},isTypedArray:function(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)},getKeyframeOrder:function(t){function e(e,n){return t[e]-t[n]}for(var n=t.length,i=new Array(n),r=0;r!==n;++r)i[r]=r;return i.sort(e),i},sortedArray:function(t,e,n){for(var i=t.length,r=new t.constructor(i),o=0,a=0;a!==i;++o)for(var s=n[o]*e,l=0;l!==e;++l)r[a++]=t[s+l];return r},flattenJSON:function(t,e,n,i){for(var r=1,o=t[0];void 0!==o&&void 0===o[i];)o=t[r++];if(void 0!==o){var a=o[i];if(void 0!==a)if(Array.isArray(a)){do a=o[i],void 0!==a&&(e.push(o.time),n.push.apply(n,a)),o=t[r++];while(void 0!==o)}else if(void 0!==a.toArray){do a=o[i],void 0!==a&&(e.push(o.time),a.toArray(n,n.length)),o=t[r++];while(void 0!==o)}else do a=o[i],void 0!==a&&(e.push(o.time),n.push(a)),o=t[r++];while(void 0!==o)}}};Object.assign(Wn.prototype,{evaluate:function(t){var e=this.parameterPositions,n=this._cachedIndex,i=e[n],r=e[n-1];t:{e:{var o;n:{i:if(!(t<i)){for(var a=n+2;;){if(void 0===i){if(t<r)break i;
20return n=e.length,this._cachedIndex=n,this.afterEnd_(n-1,t,r)}if(n===a)break;if(r=i,i=e[++n],t<i)break e}o=e.length;break n}{if(t>=r)break t;var s=e[1];t<s&&(n=2,r=s);for(var a=n-2;;){if(void 0===r)return this._cachedIndex=0,this.beforeStart_(0,t,i);if(n===a)break;if(i=r,r=e[--n-1],t>=r)break e}o=n,n=0}}for(;n<o;){var l=n+o>>>1;t<e[l]?o=l:n=l+1}if(i=e[n],r=e[n-1],void 0===r)return this._cachedIndex=0,this.beforeStart_(0,t,i);if(void 0===i)return n=e.length,this._cachedIndex=n,this.afterEnd_(n-1,r,t)}this._cachedIndex=n,this.intervalChanged_(n,r,i)}return this.interpolate_(n,r,t,i)},settings:null,DefaultSettings_:{},getSettings_:function(){return this.settings||this.DefaultSettings_},copySampleValue_:function(t){for(var e=this.resultBuffer,n=this.sampleValues,i=this.valueSize,r=t*i,o=0;o!==i;++o)e[o]=n[r+o];return e},interpolate_:function(t,e,n,i){throw new Error("call to abstract method")},intervalChanged_:function(t,e,n){}}),Object.assign(Wn.prototype,{beforeStart_:Wn.prototype.copySampleValue_,afterEnd_:Wn.prototype.copySampleValue_}),Yn.prototype=Object.assign(Object.create(Wn.prototype),{constructor:Yn,DefaultSettings_:{endingStart:os,endingEnd:os},intervalChanged_:function(t,e,n){var i=this.parameterPositions,r=t-2,o=t+1,a=i[r],s=i[o];if(void 0===a)switch(this.getSettings_().endingStart){case as:r=t,a=2*e-n;break;case ss:r=i.length-2,a=e+i[r]-i[r+1];break;default:r=t,a=n}if(void 0===s)switch(this.getSettings_().endingEnd){case as:o=t,s=2*n-e;break;case ss:o=1,s=n+i[1]-i[0];break;default:o=t-1,s=e}var l=.5*(n-e),h=this.valueSize;this._weightPrev=l/(e-a),this._weightNext=l/(s-n),this._offsetPrev=r*h,this._offsetNext=o*h},interpolate_:function(t,e,n,i){for(var r=this.resultBuffer,o=this.sampleValues,a=this.valueSize,s=t*a,l=s-a,h=this._offsetPrev,c=this._offsetNext,u=this._weightPrev,p=this._weightNext,d=(n-e)/(i-e),f=d*d,m=f*d,g=-u*m+2*u*f-u*d,v=(1+u)*m+(-1.5-2*u)*f+(-.5+u)*d+1,y=(-1-p)*m+(1.5+p)*f+.5*d,_=p*m-p*f,b=0;b!==a;++b)r[b]=g*o[h+b]+v*o[l+b]+y*o[s+b]+_*o[c+b];return r}}),Kn.prototype=Object.assign(Object.create(Wn.prototype),{constructor:Kn,interpolate_:function(t,e,n,i){for(var r=this.resultBuffer,o=this.sampleValues,a=this.valueSize,s=t*a,l=s-a,h=(n-e)/(i-e),c=1-h,u=0;u!==a;++u)r[u]=o[l+u]*c+o[s+u]*h;return r}}),Zn.prototype=Object.assign(Object.create(Wn.prototype),{constructor:Zn,interpolate_:function(t,e,n,i){return this.copySampleValue_(t-1)}});var Yh;Yh={TimeBufferType:Float32Array,ValueBufferType:Float32Array,DefaultInterpolation:is,InterpolantFactoryMethodDiscrete:function(t){return new Zn(this.times,this.values,this.getValueSize(),t)},InterpolantFactoryMethodLinear:function(t){return new Kn(this.times,this.values,this.getValueSize(),t)},InterpolantFactoryMethodSmooth:function(t){return new Yn(this.times,this.values,this.getValueSize(),t)},setInterpolation:function(t){var e;switch(t){case ns:e=this.InterpolantFactoryMethodDiscrete;break;case is:e=this.InterpolantFactoryMethodLinear;break;case rs:e=this.InterpolantFactoryMethodSmooth}if(void 0===e){var n="unsupported interpolation for "+this.ValueTypeName+" keyframe track named "+this.name;if(void 0===this.createInterpolant){if(t===this.DefaultInterpolation)throw new Error(n);this.setInterpolation(this.DefaultInterpolation)}return void console.warn(n)}this.createInterpolant=e},getInterpolation:function(){switch(this.createInterpolant){case this.InterpolantFactoryMethodDiscrete:return ns;case this.InterpolantFactoryMethodLinear:return is;case this.InterpolantFactoryMethodSmooth:return rs}},getValueSize:function(){return this.values.length/this.times.length},shift:function(t){if(0!==t)for(var e=this.times,n=0,i=e.length;n!==i;++n)e[n]+=t;return this},scale:function(t){if(1!==t)for(var e=this.times,n=0,i=e.length;n!==i;++n)e[n]*=t;return this},trim:function(t,e){for(var n=this.times,i=n.length,r=0,o=i-1;r!==i&&n[r]<t;)++r;for(;o!==-1&&n[o]>e;)--o;if(++o,0!==r||o!==i){r>=o&&(o=Math.max(o,1),r=o-1);var a=this.getValueSize();this.times=Wh.arraySlice(n,r,o),this.values=Wh.arraySlice(this.values,r*a,o*a)}return this},validate:function(){var t=!0,e=this.getValueSize();e-Math.floor(e)!==0&&(console.error("invalid value size in track",this),t=!1);var n=this.times,i=this.values,r=n.length;0===r&&(console.error("track is empty",this),t=!1);for(var o=null,a=0;a!==r;a++){var s=n[a];if("number"==typeof s&&isNaN(s)){console.error("time is not a valid number",this,a,s),t=!1;break}if(null!==o&&o>s){console.error("out of order keys",this,a,s,o),t=!1;break}o=s}if(void 0!==i&&Wh.isTypedArray(i))for(var a=0,l=i.length;a!==l;++a){var h=i[a];if(isNaN(h)){console.error("value is not a valid number",this,a,h),t=!1;break}}return t},optimize:function(){for(var t=this.times,e=this.values,n=this.getValueSize(),i=this.getInterpolation()===rs,r=1,o=t.length-1,a=1;a<o;++a){var s=!1,l=t[a],h=t[a+1];if(l!==h&&(1!==a||l!==l[0]))if(i)s=!0;else for(var c=a*n,u=c-n,p=c+n,d=0;d!==n;++d){var f=e[c+d];if(f!==e[u+d]||f!==e[p+d]){s=!0;break}}if(s){if(a!==r){t[r]=t[a];for(var m=a*n,g=r*n,d=0;d!==n;++d)e[g+d]=e[m+d]}++r}}if(o>0){t[r]=t[o];for(var m=o*n,g=r*n,d=0;d!==n;++d)e[g+d]=e[m+d];++r}return r!==t.length&&(this.times=Wh.arraySlice(t,0,r),this.values=Wh.arraySlice(e,0,r*n)),this}},Qn.prototype=Object.assign(Object.create(Yh),{constructor:Qn,ValueTypeName:"vector"}),Jn.prototype=Object.assign(Object.create(Wn.prototype),{constructor:Jn,interpolate_:function(t,e,n,i){for(var r=this.resultBuffer,o=this.sampleValues,a=this.valueSize,l=t*a,h=(n-e)/(i-e),c=l+a;l!==c;l+=4)s.slerpFlat(r,0,o,l-a,o,l,h);return r}}),$n.prototype=Object.assign(Object.create(Yh),{constructor:$n,ValueTypeName:"quaternion",DefaultInterpolation:is,InterpolantFactoryMethodLinear:function(t){return new Jn(this.times,this.values,this.getValueSize(),t)},InterpolantFactoryMethodSmooth:void 0}),ti.prototype=Object.assign(Object.create(Yh),{constructor:ti,ValueTypeName:"number"}),ei.prototype=Object.assign(Object.create(Yh),{constructor:ei,ValueTypeName:"string",ValueBufferType:Array,DefaultInterpolation:ns,InterpolantFactoryMethodLinear:void 0,InterpolantFactoryMethodSmooth:void 0}),ni.prototype=Object.assign(Object.create(Yh),{constructor:ni,ValueTypeName:"bool",ValueBufferType:Array,DefaultInterpolation:ns,InterpolantFactoryMethodLinear:void 0,InterpolantFactoryMethodSmooth:void 0}),ii.prototype=Object.assign(Object.create(Yh),{constructor:ii,ValueTypeName:"color"}),ri.prototype=Yh,Yh.constructor=ri,Object.assign(ri,{parse:function(t){if(void 0===t.type)throw new Error("track type undefined, can not parse");var e=ri._getTrackTypeForValueTypeName(t.type);if(void 0===t.times){var n=[],i=[];Wh.flattenJSON(t.keys,n,i,"value"),t.times=n,t.values=i}return void 0!==e.parse?e.parse(t):new e(t.name,t.times,t.values,t.interpolation)},toJSON:function(t){var e,n=t.constructor;if(void 0!==n.toJSON)e=n.toJSON(t);else{e={name:t.name,times:Wh.convertArray(t.times,Array),values:Wh.convertArray(t.values,Array)};var i=t.getInterpolation();i!==t.DefaultInterpolation&&(e.interpolation=i)}return e.type=t.ValueTypeName,e},_getTrackTypeForValueTypeName:function(t){switch(t.toLowerCase()){case"scalar":case"double":case"float":case"number":case"integer":return ti;
20case"vector":case"vector2":case"vector3":case"vector4":return Qn;case"color":return ii;case"quaternion":return $n;case"bool":case"boolean":return ni;case"string":return ei}throw new Error("Unsupported typeName: "+t)}}),Object.assign(oi,{parse:function(t){for(var e=[],n=t.tracks,i=1/(t.fps||1),r=0,o=n.length;r!==o;++r)e.push(ri.parse(n[r]).scale(i));return new oi(t.name,t.duration,e)},toJSON:function(t){for(var e=[],n=t.tracks,i={name:t.name,duration:t.duration,tracks:e},r=0,o=n.length;r!==o;++r)e.push(ri.toJSON(n[r]));return i},CreateFromMorphTargetSequence:function(t,e,n,i){for(var r=e.length,o=[],a=0;a<r;a++){var s=[],l=[];s.push((a+r-1)%r,a,(a+1)%r),l.push(0,1,0);var h=Wh.getKeyframeOrder(s);s=Wh.sortedArray(s,1,h),l=Wh.sortedArray(l,1,h),i||0!==s[0]||(s.push(r),l.push(l[0])),o.push(new ti(".morphTargetInfluences["+e[a].name+"]",s,l).scale(1/n))}return new oi(t,(-1),o)},findByName:function(t,e){var n=t;if(!Array.isArray(t)){var i=t;n=i.geometry&&i.geometry.animations||i.animations}for(var r=0;r<n.length;r++)if(n[r].name===e)return n[r];return null},CreateClipsFromMorphTargetSequences:function(t,e,n){for(var i={},r=/^([\w-]*?)([\d]+)$/,o=0,a=t.length;o<a;o++){var s=t[o],l=s.name.match(r);if(l&&l.length>1){var h=l[1],c=i[h];c||(i[h]=c=[]),c.push(s)}}var u=[];for(var h in i)u.push(oi.CreateFromMorphTargetSequence(h,i[h],e,n));return u},parseAnimation:function(t,e){if(!t)return console.error(" no animation in JSONLoader data"),null;for(var n=function(t,e,n,i,r){if(0!==n.length){var o=[],a=[];Wh.flattenJSON(n,o,a,i),0!==o.length&&r.push(new t(e,o,a))}},i=[],r=t.name||"default",o=t.length||-1,a=t.fps||30,s=t.hierarchy||[],l=0;l<s.length;l++){var h=s[l].keys;if(h&&0!==h.length)if(h[0].morphTargets){for(var c={},u=0;u<h.length;u++)if(h[u].morphTargets)for(var p=0;p<h[u].morphTargets.length;p++)c[h[u].morphTargets[p]]=-1;for(var d in c){for(var f=[],m=[],p=0;p!==h[u].morphTargets.length;++p){var g=h[u];f.push(g.time),m.push(g.morphTarget===d?1:0)}i.push(new ti(".morphTargetInfluence["+d+"]",f,m))}o=c.length*(a||1)}else{var v=".bones["+e[l].name+"]";n(Qn,v+".position",h,"pos",i),n($n,v+".quaternion",h,"rot",i),n(Qn,v+".scale",h,"scl",i)}}if(0===i.length)return null;var y=new oi(r,o,i);return y}}),Object.assign(oi.prototype,{resetDuration:function(){for(var t=this.tracks,e=0,n=0,i=t.length;n!==i;++n){var r=this.tracks[n];e=Math.max(e,r.times[r.times.length-1])}this.duration=e},trim:function(){for(var t=0;t<this.tracks.length;t++)this.tracks[t].trim(0,this.duration);return this},optimize:function(){for(var t=0;t<this.tracks.length;t++)this.tracks[t].optimize();return this}}),Object.assign(ai.prototype,{load:function(t,e,n,i){var r=this,o=new Ln(r.manager);o.setResponseType("json"),o.load(t,function(t){e(r.parse(t))},n,i)},setTextures:function(t){this.textures=t},parse:function(t){function e(t){return void 0===i[t]&&console.warn("THREE.MaterialLoader: Undefined texture",t),i[t]}var i=this.textures,r=new zh[t.type];if(void 0!==t.uuid&&(r.uuid=t.uuid),void 0!==t.name&&(r.name=t.name),void 0!==t.color&&r.color.setHex(t.color),void 0!==t.roughness&&(r.roughness=t.roughness),void 0!==t.metalness&&(r.metalness=t.metalness),void 0!==t.emissive&&r.emissive.setHex(t.emissive),void 0!==t.specular&&r.specular.setHex(t.specular),void 0!==t.shininess&&(r.shininess=t.shininess),void 0!==t.clearCoat&&(r.clearCoat=t.clearCoat),void 0!==t.clearCoatRoughness&&(r.clearCoatRoughness=t.clearCoatRoughness),void 0!==t.uniforms&&(r.uniforms=t.uniforms),void 0!==t.vertexShader&&(r.vertexShader=t.vertexShader),void 0!==t.fragmentShader&&(r.fragmentShader=t.fragmentShader),void 0!==t.vertexColors&&(r.vertexColors=t.vertexColors),void 0!==t.fog&&(r.fog=t.fog),void 0!==t.shading&&(r.shading=t.shading),void 0!==t.blending&&(r.blending=t.blending),void 0!==t.side&&(r.side=t.side),void 0!==t.opacity&&(r.opacity=t.opacity),void 0!==t.transparent&&(r.transparent=t.transparent),void 0!==t.alphaTest&&(r.alphaTest=t.alphaTest),void 0!==t.depthTest&&(r.depthTest=t.depthTest),void 0!==t.depthWrite&&(r.depthWrite=t.depthWrite),void 0!==t.colorWrite&&(r.colorWrite=t.colorWrite),void 0!==t.wireframe&&(r.wireframe=t.wireframe),void 0!==t.wireframeLinewidth&&(r.wireframeLinewidth=t.wireframeLinewidth),void 0!==t.wireframeLinecap&&(r.wireframeLinecap=t.wireframeLinecap),void 0!==t.wireframeLinejoin&&(r.wireframeLinejoin=t.wireframeLinejoin),void 0!==t.skinning&&(r.skinning=t.skinning),void 0!==t.morphTargets&&(r.morphTargets=t.morphTargets),void 0!==t.size&&(r.size=t.size),void 0!==t.sizeAttenuation&&(r.sizeAttenuation=t.sizeAttenuation),void 0!==t.map&&(r.map=e(t.map)),void 0!==t.alphaMap&&(r.alphaMap=e(t.alphaMap),r.transparent=!0),void 0!==t.bumpMap&&(r.bumpMap=e(t.bumpMap)),void 0!==t.bumpScale&&(r.bumpScale=t.bumpScale),void 0!==t.normalMap&&(r.normalMap=e(t.normalMap)),void 0!==t.normalScale){var o=t.normalScale;Array.isArray(o)===!1&&(o=[o,o]),r.normalScale=(new n).fromArray(o)}return void 0!==t.displacementMap&&(r.displacementMap=e(t.displacementMap)),void 0!==t.displacementScale&&(r.displacementScale=t.displacementScale),void 0!==t.displacementBias&&(r.displacementBias=t.displacementBias),void 0!==t.roughnessMap&&(r.roughnessMap=e(t.roughnessMap)),void 0!==t.metalnessMap&&(r.metalnessMap=e(t.metalnessMap)),void 0!==t.emissiveMap&&(r.emissiveMap=e(t.emissiveMap)),void 0!==t.emissiveIntensity&&(r.emissiveIntensity=t.emissiveIntensity),void 0!==t.specularMap&&(r.specularMap=e(t.specularMap)),void 0!==t.envMap&&(r.envMap=e(t.envMap)
20),void 0!==t.reflectivity&&(r.reflectivity=t.reflectivity),void 0!==t.lightMap&&(r.lightMap=e(t.lightMap)),void 0!==t.lightMapIntensity&&(r.lightMapIntensity=t.lightMapIntensity),void 0!==t.aoMap&&(r.aoMap=e(t.aoMap)),void 0!==t.aoMapIntensity&&(r.aoMapIntensity=t.aoMapIntensity), 21void 0!==t.gradientMap&&(r.gradientMap=e(t.gradientMap)),r}}),Object.assign(si.prototype,{load:function(t,e,n,i){var r=this,o=new Ln(r.manager);o.setResponseType("json"),o.load(t,function(t){e(r.parse(t))},n,i)},parse:function(t){var e=new Mt,n=t.data.index;if(void 0!==n){var i=new Kh[n.type](n.array);e.setIndex(new dt(i,1))}var r=t.data.attributes;for(var o in r){var a=r[o],i=new Kh[a.type](a.array);e.addAttribute(o,new dt(i,a.itemSize,a.normalized))}var s=t.data.groups||t.data.drawcalls||t.data.offsets;if(void 0!==s)for(var h=0,c=s.length;h!==c;++h){var u=s[h];e.addGroup(u.start,u.count,u.materialIndex)}var p=t.data.boundingSphere;if(void 0!==p){var d=new l;void 0!==p.center&&d.fromArray(p.center),e.boundingSphere=new tt(d,p.radius)}return e}});var Kh={Int8Array:Int8Array,Uint8Array:Uint8Array,Uint8ClampedArray:Uint8ClampedArray,Int16Array:Int16Array,Uint16Array:Uint16Array,Int32Array:Int32Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array};li.Handlers={handlers:[],add:function(t,e){this.handlers.push(t,e)},get:function(t){for(var e=this.handlers,n=0,i=e.length;n<i;n+=2){var r=e[n],o=e[n+1];if(r.test(t))return o}return null}},Object.assign(li.prototype,{crossOrigin:void 0,extractUrlBase:function(t){var e=t.split("/");return 1===e.length?"./":(e.pop(),e.join("/")+"/")},initMaterials:function(t,e,n){for(var i=[],r=0;r<t.length;++r)i[r]=this.createMaterial(t[r],e,n);return i},createMaterial:function(){var t={NoBlending:wo,NormalBlending:Eo,AdditiveBlending:To,SubtractiveBlending:So,MultiplyBlending:Mo,CustomBlending:Co},e=new W,n=new Dn,i=new ai;return function(r,o,a){function s(t,e,i,r,s){var h,c=o+t,u=li.Handlers.get(c);null!==u?h=u.load(c):(n.setCrossOrigin(a),h=n.load(c)),void 0!==e&&(h.repeat.fromArray(e),1!==e[0]&&(h.wrapS=ma),1!==e[1]&&(h.wrapT=ma)),void 0!==i&&h.offset.fromArray(i),void 0!==r&&("repeat"===r[0]&&(h.wrapS=ma),"mirror"===r[0]&&(h.wrapS=va),"repeat"===r[1]&&(h.wrapT=ma),"mirror"===r[1]&&(h.wrapT=va)),void 0!==s&&(h.anisotropy=s);var p=xs.generateUUID();return l[p]=h,p}var l={},h={uuid:xs.generateUUID(),type:"MeshLambertMaterial"};for(var c in r){var u=r[c];switch(c){case"DbgColor":case"DbgIndex":case"opticalDensity":case"illumination":break;case"DbgName":h.name=u;break;case"blending":h.blending=t[u];break;case"colorAmbient":case"mapAmbient":console.warn("THREE.Loader.createMaterial:",c,"is no longer supported.");break;case"colorDiffuse":h.color=e.fromArray(u).getHex();break;case"colorSpecular":h.specular=e.fromArray(u).getHex();break;case"colorEmissive":h.emissive=e.fromArray(u).getHex();break;case"specularCoef":h.shininess=u;break;case"shading":"basic"===u.toLowerCase()&&(h.type="MeshBasicMaterial"),"phong"===u.toLowerCase()&&(h.type="MeshPhongMaterial"),"standard"===u.toLowerCase()&&(h.type="MeshStandardMaterial");break;case"mapDiffuse":h.map=s(u,r.mapDiffuseRepeat,r.mapDiffuseOffset,r.mapDiffuseWrap,r.mapDiffuseAnisotropy);break;case"mapDiffuseRepeat":case"mapDiffuseOffset":case"mapDiffuseWrap":case"mapDiffuseAnisotropy":break;case"mapEmissive":h.emissiveMap=s(u,r.mapEmissiveRepeat,r.mapEmissiveOffset,r.mapEmissiveWrap,r.mapEmissiveAnisotropy);break;case"mapEmissiveRepeat":case"mapEmissiveOffset":case"mapEmissiveWrap":case"mapEmissiveAnisotropy":break;case"mapLight":h.lightMap=s(u,r.mapLightRepeat,r.mapLightOffset,r.mapLightWrap,r.mapLightAnisotropy);break;case"mapLightRepeat":case"mapLightOffset":case"mapLightWrap":case"mapLightAnisotropy":break;case"mapAO":h.aoMap=s(u,r.mapAORepeat,r.mapAOOffset,r.mapAOWrap,r.mapAOAnisotropy);break;case"mapAORepeat":case"mapAOOffset":case"mapAOWrap":case"mapAOAnisotropy":break;case"mapBump":h.bumpMap=s(u,r.mapBumpRepeat,r.mapBumpOffset,r.mapBumpWrap,r.mapBumpAnisotropy);break;case"mapBumpScale":h.bumpScale=u;break;case"mapBumpRepeat":case"mapBumpOffset":case"mapBumpWrap":case"mapBumpAnisotropy":break;case"mapNormal":h.normalMap=s(u,r.mapNormalRepeat,r.mapNormalOffset,r.mapNormalWrap,r.mapNormalAnisotropy);break;case"mapNormalFactor":h.normalScale=[u,u];break;case"mapNormalRepeat":case"mapNormalOffset":case"mapNormalWrap":case"mapNormalAnisotropy":break;case"mapSpecular":h.specularMap=s(u,r.mapSpecularRepeat,r.mapSpecularOffset,r.mapSpecularWrap,r.mapSpecularAnisotropy);break;case"mapSpecularRepeat":case"mapSpecularOffset":case"mapSpecularWrap":case"mapSpecularAnisotropy":break;case"mapMetalness":h.metalnessMap=s(u,r.mapMetalnessRepeat,r.mapMetalnessOffset,r.mapMetalnessWrap,r.mapMetalnessAnisotropy);break;case"mapMetalnessRepeat":case"mapMetalnessOffset":case"mapMetalnessWrap":case"mapMetalnessAnisotropy":break;case"mapRoughness":h.roughnessMap=s(u,r.mapRoughnessRepeat,r.mapRoughnessOffset,r.mapRoughnessWrap,r.mapRoughnessAnisotropy);break;case"mapRoughnessRepeat":case"mapRoughnessOffset":case"mapRoughnessWrap":case"mapRoughnessAnisotropy":break;
21case"mapAlpha":h.alphaMap=s(u,r.mapAlphaRepeat,r.mapAlphaOffset,r.mapAlphaWrap,r.mapAlphaAnisotropy);break;case"mapAlphaRepeat":case"mapAlphaOffset":case"mapAlphaWrap":case"mapAlphaAnisotropy":break;case"flipSided":h.side=go;break;case"doubleSided":h.side=vo;break;case"transparency":console.warn("THREE.Loader.createMaterial: transparency has been renamed to opacity"),h.opacity=u;break;case"depthTest":case"depthWrite":case"colorWrite":case"opacity":case"reflectivity":case"transparent":case"visible":case"wireframe":h[c]=u;break;case"vertexColors":u===!0&&(h.vertexColors=Ao),"face"===u&&(h.vertexColors=xo);break;default:console.error("THREE.Loader.createMaterial: Unsupported",c,u)}}return"MeshBasicMaterial"===h.type&&delete h.emissive,"MeshPhongMaterial"!==h.type&&delete h.specular,h.opacity<1&&(h.transparent=!0),i.setTextures(l),i.parse(h)}}()}),Object.assign(hi.prototype,{load:function(t,e,n,i){var r=this,o=this.texturePath&&"string"==typeof this.texturePath?this.texturePath:li.prototype.extractUrlBase(t),a=new Ln(this.manager);a.setResponseType("json"),a.setWithCredentials(this.withCredentials),a.load(t,function(n){var i=n.metadata;if(void 0!==i){var a=i.type;if(void 0!==a){if("object"===a.toLowerCase())return void console.error("THREE.JSONLoader: "+t+" should be loaded with THREE.ObjectLoader instead.");if("scene"===a.toLowerCase())return void console.error("THREE.JSONLoader: "+t+" should be loaded with THREE.SceneLoader instead.")}}var s=r.parse(n,o);e(s.geometry,s.materials)},n,i)},setTexturePath:function(t){this.texturePath=t},parse:function(){function t(t,e){function i(t,e){return t&1<<e}var r,o,a,s,h,c,u,p,d,f,m,g,v,y,_,b,x,A,w,E,T,S,M,C,P,L,R,N=t.faces,O=t.vertices,I=t.normals,D=t.colors,B=t.scale,U=0;if(void 0!==t.uvs){for(r=0;r<t.uvs.length;r++)t.uvs[r].length&&U++;for(r=0;r<U;r++)e.faceVertexUvs[r]=[]}for(s=0,h=O.length;s<h;)A=new l,A.x=O[s++]*B,A.y=O[s++]*B,A.z=O[s++]*B,e.vertices.push(A);for(s=0,h=N.length;s<h;)if(f=N[s++],m=i(f,0),g=i(f,1),v=i(f,3),y=i(f,4),_=i(f,5),b=i(f,6),x=i(f,7),m){if(E=new ut,E.a=N[s],E.b=N[s+1],E.c=N[s+3],T=new ut,T.a=N[s+1],T.b=N[s+2],T.c=N[s+3],s+=4,g&&(d=N[s++],E.materialIndex=d,T.materialIndex=d),a=e.faces.length,v)for(r=0;r<U;r++)for(C=t.uvs[r],e.faceVertexUvs[r][a]=[],e.faceVertexUvs[r][a+1]=[],o=0;o<4;o++)p=N[s++],L=C[2*p],R=C[2*p+1],P=new n(L,R),2!==o&&e.faceVertexUvs[r][a].push(P),0!==o&&e.faceVertexUvs[r][a+1].push(P);if(y&&(u=3*N[s++],E.normal.set(I[u++],I[u++],I[u]),T.normal.copy(E.normal)),_)for(r=0;r<4;r++)u=3*N[s++],M=new l(I[u++],I[u++],I[u]),2!==r&&E.vertexNormals.push(M),0!==r&&T.vertexNormals.push(M);if(b&&(c=N[s++],S=D[c],E.color.setHex(S),T.color.setHex(S)),x)for(r=0;r<4;r++)c=N[s++],S=D[c],2!==r&&E.vertexColors.push(new W(S)),0!==r&&T.vertexColors.push(new W(S));e.faces.push(E),e.faces.push(T)}else{if(w=new ut,w.a=N[s++],w.b=N[s++],w.c=N[s++],g&&(d=N[s++],w.materialIndex=d),a=e.faces.length,v)for(r=0;r<U;r++)for(C=t.uvs[r],e.faceVertexUvs[r][a]=[],o=0;o<3;o++)p=N[s++],L=C[2*p],R=C[2*p+1],P=new n(L,R),e.faceVertexUvs[r][a].push(P);if(y&&(u=3*N[s++],w.normal.set(I[u++],I[u++],I[u])),_)for(r=0;r<3;r++)u=3*N[s++],M=new l(I[u++],I[u++],I[u]),w.vertexNormals.push(M);if(b&&(c=N[s++],w.color.setHex(D[c])),x)for(r=0;r<3;r++)c=N[s++],w.vertexColors.push(new W(D[c]));e.faces.push(w)}}function e(t,e){var n=void 0!==t.influencesPerVertex?t.influencesPerVertex:2;if(t.skinWeights)for(var i=0,o=t.skinWeights.length;i<o;i+=n){var a=t.skinWeights[i],s=n>1?t.skinWeights[i+1]:0,l=n>2?t.skinWeights[i+2]:0,h=n>3?t.skinWeights[i+3]:0;e.skinWeights.push(new r(a,s,l,h))}if(t.skinIndices)for(var i=0,o=t.skinIndices.length;i<o;i+=n){var c=t.skinIndices[i],u=n>1?t.skinIndices[i+1]:0,p=n>2?t.skinIndices[i+2]:0,d=n>3?t.skinIndices[i+3]:0;e.skinIndices.push(new r(c,u,p,d))}e.bones=t.bones,e.bones&&e.bones.length>0&&(e.skinWeights.length!==e.skinIndices.length||e.skinIndices.length!==e.vertices.length)&&console.warn("When skinning, number of vertices ("+e.vertices.length+"), skinIndices ("+e.skinIndices.length+"), and skinWeights ("+e.skinWeights.length+") should match.")}function i(t,e){var n=t.scale;if(void 0!==t.morphTargets)for(var i=0,r=t.morphTargets.length;i<r;i++){e.morphTargets[i]={},e.morphTargets[i].name=t.morphTargets[i].name,e.morphTargets[i].vertices=[];for(var o=e.morphTargets[i].vertices,a=t.morphTargets[i].vertices,s=0,h=a.length;s<h;s+=3){var c=new l;c.x=a[s]*n,c.y=a[s+1]*n,c.z=a[s+2]*n,o.push(c)}}if(void 0!==t.morphColors&&t.morphColors.length>0){console.warn('THREE.JSONLoader: "morphColors" no longer supported. Using them as face colors.');for(var u=e.faces,p=t.morphColors[0].colors,i=0,r=u.length;i<r;i++)u[i].color.fromArray(p,3*i)}}function o(t,e){var n=[],i=[];void 0!==t.animation&&i.push(t.animation),void 0!==t.animations&&(t.animations.length?i=i.concat(t.animations):i.push(t.animations));for(var r=0;r<i.length;r++){var o=oi.parseAnimation(i[r],e.bones);o&&n.push(o)}if(e.morphTargets){var a=oi.CreateClipsFromMorphTargetSequences(e.morphTargets,10);n=n.concat(a)}n.length>0&&(e.animations=n)}return function(n,r){void 0!==n.data&&(n=n.data),void 0!==n.scale?n.scale=1/n.scale:n.scale=1;var a=new St;if(t(n,a),e(n,a),i(n,a),o(n,a),a.computeFaceNormals(),a.computeBoundingSphere(),void 0===n.materials||0===n.materials.length)return{geometry:a};var s=li.prototype.initMaterials(n.materials,r,this.crossOrigin);return{geometry:a,materials:s}}}()}),Object.assign(ci.prototype,{load:function(t,e,n,i){""===this.texturePath&&(this.texturePath=t.substring(0,t.lastIndexOf("/")+1));var r=this,o=new Ln(r.manager);o.load(t,function(n){var o=null;try{o=JSON.parse(n)}catch(a){return void 0!==i&&i(a),void console.error("THREE:ObjectLoader: Can't parse "+t+".",a.message)}var s=o.metadata;return void 0===s||void 0===s.type||"geometry"===s.type.toLowerCase()?void console.error("THREE.ObjectLoader: Can't load "+t+". Use THREE.JSONLoader instead."):void r.parse(o,e)},n,i)},setTexturePath:function(t){this.texturePath=t},setCrossOrigin:function(t){this.crossOrigin=t},parse:function(t,e){var n=this.parseGeometries(t.geometries),i=this.parseImages(t.images,function(){void 0!==e&&e(a)}),r=this.parseTextures(t.textures,i),o=this.parseMaterials(t.materials,r),a=this.parseObject(t.object,n,o);return t.animations&&(a.animations=this.parseAnimations(t.animations)),void 0!==t.images&&0!==t.images.length||void 0!==e&&e(a),a},parseGeometries:function(t){var e={};if(void 0!==t)for(var n=new hi,i=new si,r=0,o=t.length;r<o;r++){var a,s=t[r];switch(s.type){case"PlaneGeometry":case"PlaneBufferGeometry":a=new Fh[s.type](s.width,s.height,s.widthSegments,s.heightSegments);break;case"BoxGeometry":case"BoxBufferGeometry":case"CubeGeometry":a=new Fh[s.type](s.width,s.height,s.depth,s.widthSegments,s.heightSegments,s.depthSegments);break;
21case"CircleGeometry":case"CircleBufferGeometry":a=new Fh[s.type](s.radius,s.segments,s.thetaStart,s.thetaLength);break;case"CylinderGeometry":case"CylinderBufferGeometry":a=new Fh[s.type](s.radiusTop,s.radiusBottom,s.height,s.radialSegments,s.heightSegments,s.openEnded,s.thetaStart,s.thetaLength);break;case"ConeGeometry":case"ConeBufferGeometry":a=new Fh[s.type](s.radius,s.height,s.radialSegments,s.heightSegments,s.openEnded,s.thetaStart,s.thetaLength);break;case"SphereGeometry":case"SphereBufferGeometry":a=new Fh[s.type](s.radius,s.widthSegments,s.heightSegments,s.phiStart,s.phiLength,s.thetaStart,s.thetaLength);break;case"DodecahedronGeometry":case"IcosahedronGeometry":case"OctahedronGeometry":case"TetrahedronGeometry":a=new Fh[s.type](s.radius,s.detail);break;case"RingGeometry":case"RingBufferGeometry":a=new Fh[s.type](s.innerRadius,s.outerRadius,s.thetaSegments,s.phiSegments,s.thetaStart,s.thetaLength);break;case"TorusGeometry":case"TorusBufferGeometry":a=new Fh[s.type](s.radius,s.tube,s.radialSegments,s.tubularSegments,s.arc);break;case"TorusKnotGeometry":case"TorusKnotBufferGeometry":a=new Fh[s.type](s.radius,s.tube,s.tubularSegments,s.radialSegments,s.p,s.q);break;case"LatheGeometry":case"LatheBufferGeometry":a=new Fh[s.type](s.points,s.segments,s.phiStart,s.phiLength);break;case"BufferGeometry":a=i.parse(s);break;case"Geometry":a=n.parse(s,this.texturePath).geometry;break;default:console.warn('THREE.ObjectLoader: Unsupported geometry type "'+s.type+'"');continue}a.uuid=s.uuid,void 0!==s.name&&(a.name=s.name),e[s.uuid]=a}return e},parseMaterials:function(t,e){var n={};if(void 0!==t){var i=new ai;i.setTextures(e);for(var r=0,o=t.length;r<o;r++){var a=t[r];if("MultiMaterial"===a.type){for(var s=[],l=0;l<a.materials.length;l++)s.push(i.parse(a.materials[l]));n[a.uuid]=s}else n[a.uuid]=i.parse(a)}}return n},parseAnimations:function(t){for(var e=[],n=0;n<t.length;n++){var i=oi.parse(t[n]);e.push(i)}return e},parseImages:function(t,e){function n(t){return i.manager.itemStart(t),a.load(t,function(){i.manager.itemEnd(t)},void 0,function(){i.manager.itemEnd(t),i.manager.itemError(t)})}var i=this,r={};if(void 0!==t&&t.length>0){var o=new Pn(e),a=new On(o);a.setCrossOrigin(this.crossOrigin);for(var s=0,l=t.length;s<l;s++){var h=t[s],c=/^(\/\/)|([a-z]+:(\/\/)?)/i.test(h.url)?h.url:i.texturePath+h.url;r[h.uuid]=n(c)}}return r},parseTextures:function(t,e){function n(t,e){return"number"==typeof t?t:(console.warn("THREE.ObjectLoader.parseTexture: Constant should be in numeric form.",t),e[t])}var r={};if(void 0!==t)for(var o=0,a=t.length;o<a;o++){var s=t[o];void 0===s.image&&console.warn('THREE.ObjectLoader: No "image" specified for',s.uuid),void 0===e[s.image]&&console.warn("THREE.ObjectLoader: Undefined image",s.image);var l=new i(e[s.image]);l.needsUpdate=!0,l.uuid=s.uuid,void 0!==s.name&&(l.name=s.name),void 0!==s.mapping&&(l.mapping=n(s.mapping,Zh)),void 0!==s.offset&&l.offset.fromArray(s.offset),void 0!==s.repeat&&l.repeat.fromArray(s.repeat),void 0!==s.wrap&&(l.wrapS=n(s.wrap[0],qh),l.wrapT=n(s.wrap[1],qh)),void 0!==s.minFilter&&(l.minFilter=n(s.minFilter,Qh)),void 0!==s.magFilter&&(l.magFilter=n(s.magFilter,Qh)),void 0!==s.anisotropy&&(l.anisotropy=s.anisotropy),void 0!==s.flipY&&(l.flipY=s.flipY),r[s.uuid]=l}return r},parseObject:function(){var t=new h;return function(e,n,i){function r(t){return void 0===n[t]&&console.warn("THREE.ObjectLoader: Undefined geometry",t),n[t]}function o(t){if(void 0!==t){if(Array.isArray(t)){for(var e=[],n=0,r=t.length;n<r;n++){var o=t[n];void 0===i[o]&&console.warn("THREE.ObjectLoader: Undefined material",o),e.push(i[o])}return e}return void 0===i[t]&&console.warn("THREE.ObjectLoader: Undefined material",t),i[t]}}var a;switch(e.type){case"Scene":a=new ge,void 0!==e.background&&Number.isInteger(e.background)&&(a.background=new W(e.background)),void 0!==e.fog&&("Fog"===e.fog.type?a.fog=new me(e.fog.color,e.fog.near,e.fog.far):"FogExp2"===e.fog.type&&(a.fog=new fe(e.fog.color,e.fog.density)));break;case"PerspectiveCamera":a=new It(e.fov,e.aspect,e.near,e.far),void 0!==e.focus&&(a.focus=e.focus),void 0!==e.zoom&&(a.zoom=e.zoom),void 0!==e.filmGauge&&(a.filmGauge=e.filmGauge),void 0!==e.filmOffset&&(a.filmOffset=e.filmOffset),void 0!==e.view&&(a.view=Object.assign({},e.view));break;
21case"OrthographicCamera":a=new Dt(e.left,e.right,e.top,e.bottom,e.near,e.far);break;case"AmbientLight":a=new jn(e.color,e.intensity);break;case"DirectionalLight":a=new zn(e.color,e.intensity);break;case"PointLight":a=new Hn(e.color,e.intensity,e.distance,e.decay);break;case"RectAreaLight":a=new Xn(e.color,e.intensity,e.width,e.height);break;case"SpotLight":a=new kn(e.color,e.intensity,e.distance,e.angle,e.penumbra,e.decay);break;case"HemisphereLight":a=new Un(e.color,e.groundColor,e.intensity);break;case"SkinnedMesh":console.warn("THREE.ObjectLoader.parseObject() does not support SkinnedMesh yet.");case"Mesh":var s=r(e.geometry),l=o(e.material);a=s.bones&&s.bones.length>0?new we(s,l):new Ct(s,l);break;case"LOD":a=new be;break;case"Line":a=new Te(r(e.geometry),o(e.material),e.mode);break;case"LineLoop":a=new Me(r(e.geometry),o(e.material));break;case"LineSegments":a=new Se(r(e.geometry),o(e.material));break;case"PointCloud":case"Points":a=new Pe(r(e.geometry),o(e.material));break;case"Sprite":a=new _e(o(e.material));break;case"Group":a=new Le;break;default:a=new lt}if(a.uuid=e.uuid,void 0!==e.name&&(a.name=e.name),void 0!==e.matrix?(t.fromArray(e.matrix),t.decompose(a.position,a.quaternion,a.scale)):(void 0!==e.position&&a.position.fromArray(e.position),void 0!==e.rotation&&a.rotation.fromArray(e.rotation),void 0!==e.quaternion&&a.quaternion.fromArray(e.quaternion),void 0!==e.scale&&a.scale.fromArray(e.scale)),void 0!==e.castShadow&&(a.castShadow=e.castShadow),void 0!==e.receiveShadow&&(a.receiveShadow=e.receiveShadow),e.shadow&&(void 0!==e.shadow.bias&&(a.shadow.bias=e.shadow.bias),void 0!==e.shadow.radius&&(a.shadow.radius=e.shadow.radius),void 0!==e.shadow.mapSize&&a.shadow.mapSize.fromArray(e.shadow.mapSize),void 0!==e.shadow.camera&&(a.shadow.camera=this.parseObject(e.shadow.camera))),void 0!==e.visible&&(a.visible=e.visible),void 0!==e.userData&&(a.userData=e.userData),void 0!==e.children)for(var h in e.children)a.add(this.parseObject(e.children[h],n,i));if("LOD"===e.type)for(var c=e.levels,u=0;u<c.length;u++){var p=c[u],h=a.getObjectByProperty("uuid",p.object);void 0!==h&&a.addLevel(h,p.distance)}return a}}()});var Zh={UVMapping:sa,CubeReflectionMapping:la,CubeRefractionMapping:ha,EquirectangularReflectionMapping:ca,EquirectangularRefractionMapping:ua,SphericalReflectionMapping:pa,CubeUVReflectionMapping:da,CubeUVRefractionMapping:fa},qh={RepeatWrapping:ma,ClampToEdgeWrapping:ga,MirroredRepeatWrapping:va},Qh={NearestFilter:ya,NearestMipMapNearestFilter:_a,NearestMipMapLinearFilter:ba,LinearFilter:xa,LinearMipMapNearestFilter:Aa,LinearMipMapLinearFilter:wa};Object.assign(xi.prototype,{getPoint:function(){return console.warn("THREE.Curve: .getPoint() not implemented."),null},getPointAt:function(t){var e=this.getUtoTmapping(t);return this.getPoint(e)},getPoints:function(t){void 0===t&&(t=5);for(var e=[],n=0;n<=t;n++)e.push(this.getPoint(n/t));return e},getSpacedPoints:function(t){void 0===t&&(t=5);for(var e=[],n=0;n<=t;n++)e.push(this.getPointAt(n/t));return e},getLength:function(){var t=this.getLengths();return t[t.length-1]},getLengths:function(t){if(void 0===t&&(t=this.arcLengthDivisions),this.cacheArcLengths&&this.cacheArcLengths.length===t+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;var e,n,i=[],r=this.getPoint(0),o=0;for(i.push(0),n=1;n<=t;n++)e=this.getPoint(n/t),o+=e.distanceTo(r),i.push(o),r=e;return this.cacheArcLengths=i,i},updateArcLengths:function(){this.needsUpdate=!0,this.getLengths()},getUtoTmapping:function(t,e){var n,i=this.getLengths(),r=0,o=i.length;n=e?e:t*i[o-1];for(var a,s=0,l=o-1;s<=l;)if(r=Math.floor(s+(l-s)/2),a=i[r]-n,a<0)s=r+1;else{if(!(a>0)){l=r;break}l=r-1}if(r=l,i[r]===n)return r/(o-1);var h=i[r],c=i[r+1],u=c-h,p=(n-h)/u,d=(r+p)/(o-1);return d},getTangent:function(t){var e=1e-4,n=t-e,i=t+e;n<0&&(n=0),i>1&&(i=1);var r=this.getPoint(n),o=this.getPoint(i),a=o.clone().sub(r);return a.normalize()},getTangentAt:function(t){var e=this.getUtoTmapping(t);return this.getTangent(e)},computeFrenetFrames:function(t,e){var n,i,r,o=new l,a=[],s=[],c=[],u=new l,p=new h;for(n=0;n<=t;n++)i=n/t,a[n]=this.getTangentAt(i),a[n].normalize();s[0]=new l,c[0]=new l;var d=Number.MAX_VALUE,f=Math.abs(a[0].x),m=Math.abs(a[0].y),g=Math.abs(a[0].z);for(f<=d&&(d=f,o.set(1,0,0)),m<=d&&(d=m,o.set(0,1,0)),g<=d&&o.set(0,0,1),u.crossVectors(a[0],o).normalize(),s[0].crossVectors(a[0],u),c[0].crossVectors(a[0],s[0]),n=1;n<=t;n++)s[n]=s[n-1].clone(),c[n]=c[n-1].clone(),u.crossVectors(a[n-1],a[n]),u.length()>Number.EPSILON&&(u.normalize(),r=Math.acos(xs.clamp(a[n-1].dot(a[n]),-1,1)),s[n].applyMatrix4(p.makeRotationAxis(u,r))),c[n].crossVectors(a[n],s[n]);if(e===!0)for(r=Math.acos(xs.clamp(s[0].dot(s[t]),-1,1)),r/=t,a[0].dot(u.crossVectors(s[0],s[t]))>0&&(r=-r),n=1;n<=t;n++)s[n].applyMatrix4(p.makeRotationAxis(a[n],r*n)),c[n].crossVectors(a[n],s[n]);return{tangents:a,normals:s,binormals:c}}}),Ai.prototype=Object.create(xi.prototype),Ai.prototype.constructor=Ai,Ai.prototype.isLineCurve=!0,Ai.prototype.getPoint=function(t){if(1===t)return this.v2.clone();var e=this.v2.clone().sub(this.v1);return e.multiplyScalar(t).add(this.v1),e},Ai.prototype.getPointAt=function(t){return this.getPoint(t)},Ai.prototype.getTangent=function(t){var e=this.v2.clone().sub(this.v1);return e.normalize()},wi.prototype=Object.assign(Object.create(xi.prototype),{constructor:wi,add:function(t){this.curves.push(t)},closePath:function(){var t=this.curves[0].getPoint(0),e=this.curves[this.curves.length-1].getPoint(1);t.equals(e)||this.curves.push(new Ai(e,t))},getPoint:function(t){for(var e=t*this.getLength(),n=this.getCurveLengths(),i=0;i<n.length;){if(n[i]>=e){var r=n[i]-e,o=this.curves[i],a=o.getLength(),s=0===a?0:1-r/a;return o.getPointAt(s)}i++}return null},getLength:function(){var t=this.getCurveLengths();return t[t.length-1]},updateArcLengths:function(){this.needsUpdate=!0,this.cacheLengths=null,this.getCurveLengths()},getCurveLengths:function(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;for(var t=[],e=0,n=0,i=this.curves.length;n<i;n++)e+=this.curves[n].getLength(),t.push(e);return this.cacheLengths=t,t},getSpacedPoints:function(t){void 0===t&&(t=40);for(var e=[],n=0;n<=t;n++)e.push(this.getPoint(n/t));return this.autoClose&&e.push(e[0]),e},getPoints:function(t){t=t||12;for(var e,n=[],i=0,r=this.curves;i<r.length;i++)for(var o=r[i],a=o&&o.isEllipseCurve?2*t:o&&o.isLineCurve?1:o&&o.isSplineCurve?t*o.points.length:t,s=o.getPoints(a),l=0;l<s.length;l++){var h=s[l];e&&e.equals(h)||(n.push(h),e=h)}return this.autoClose&&n.length>1&&!n[n.length-1].equals(n[0])&&n.push(n[0]),n},createPointsGeometry:function(t){var e=this.getPoints(t);return this.createGeometry(e)},createSpacedPointsGeometry:function(t){var e=this.getSpacedPoints(t);return this.createGeometry(e)},createGeometry:function(t){for(var e=new St,n=0,i=t.length;n<i;n++){var r=t[n];e.vertices.push(new l(r.x,r.y,r.z||0))}return e}}),Ei.prototype=Object.create(xi.prototype),Ei.prototype.constructor=Ei,Ei.prototype.isEllipseCurve=!0,Ei.prototype.getPoint=function(t){for(var e=2*Math.PI,i=this.aEndAngle-this.aStartAngle,r=Math.abs(i)<Number.EPSILON;i<0;)i+=e;for(;i>e;)i-=e;i<Number.EPSILON&&(i=r?0:e),this.aClockwise!==!0||r||(i===e?i=-e:i-=e);var o=this.aStartAngle+t*i,a=this.aX+this.xRadius*Math.cos(o),s=this.aY+this.yRadius*Math.sin(o);if(0!==this.aRotation){var l=Math.cos(this.aRotation),h=Math.sin(this.aRotation),c=a-this.aX,u=s-this.aY;a=c*l-u*h+this.aX,s=c*h+u*l+this.aY}return new n(a,s)},Ti.prototype=Object.create(xi.prototype),Ti.prototype.constructor=Ti,Ti.prototype.isSplineCurve=!0,Ti.prototype.getPoint=function(t){var e=this.points,i=(e.length-1)*t,r=Math.floor(i),o=i-r,a=e[0===r?r:r-1],s=e[r],l=e[r>e.length-2?e.length-1:r+1],h=e[r>e.length-3?e.length-1:r+2];return new n(ui(o,a.x,s.x,l.x,h.x),ui(o,a.y,s.y,l.y,h.y))},Si.prototype=Object.create(xi.prototype),Si.prototype.constructor=Si,Si.prototype.getPoint=function(t){var e=this.v0,i=this.v1,r=this.v2,o=this.v3;return new n(bi(t,e.x,i.x,r.x,o.x),bi(t,e.y,i.y,r.y,o.y))},Mi.prototype=Object.create(xi.prototype),Mi.prototype.constructor=Mi,Mi.prototype.getPoint=function(t){var e=this.v0,i=this.v1,r=this.v2;return new n(mi(t,e.x,i.x,r.x),mi(t,e.y,i.y,r.y))};var Jh=Object.assign(Object.create(wi.prototype),{fromPoints:function(t){this.moveTo(t[0].x,t[0].y);for(var e=1,n=t.length;e<n;e++)this.lineTo(t[e].x,t[e].y)},moveTo:function(t,e){this.currentPoint.set(t,e)},lineTo:function(t,e){var i=new Ai(this.currentPoint.clone(),new n(t,e));this.curves.push(i),this.currentPoint.set(t,e)}
21,quadraticCurveTo:function(t,e,i,r){var o=new Mi(this.currentPoint.clone(),new n(t,e),new n(i,r));this.curves.push(o),this.currentPoint.set(i,r)},bezierCurveTo:function(t,e,i,r,o,a){var s=new Si(this.currentPoint.clone(),new n(t,e),new n(i,r),new n(o,a));this.curves.push(s),this.currentPoint.set(o,a)},splineThru:function(t){var e=[this.currentPoint.clone()].concat(t),n=new Ti(e);this.curves.push(n),this.currentPoint.copy(t[t.length-1])},arc:function(t,e,n,i,r,o){var a=this.currentPoint.x,s=this.currentPoint.y;this.absarc(t+a,e+s,n,i,r,o)},absarc:function(t,e,n,i,r,o){this.absellipse(t,e,n,n,i,r,o)},ellipse:function(t,e,n,i,r,o,a,s){var l=this.currentPoint.x,h=this.currentPoint.y;this.absellipse(t+l,e+h,n,i,r,o,a,s)},absellipse:function(t,e,n,i,r,o,a,s){var l=new Ei(t,e,n,i,r,o,a,s);if(this.curves.length>0){var h=l.getPoint(0);h.equals(this.currentPoint)||this.lineTo(h.x,h.y)}this.curves.push(l);var c=l.getPoint(1);this.currentPoint.copy(c)}});Ci.prototype=Jh,Jh.constructor=Ci,Pi.prototype=Object.assign(Object.create(Jh),{constructor:Pi,getPointsHoles:function(t){for(var e=[],n=0,i=this.holes.length;n<i;n++)e[n]=this.holes[n].getPoints(t);return e},extractAllPoints:function(t){return{shape:this.getPoints(t),holes:this.getPointsHoles(t)}},extractPoints:function(t){return this.extractAllPoints(t)}}),Object.assign(Li.prototype,{moveTo:function(t,e){this.currentPath=new Ci,this.subPaths.push(this.currentPath),this.currentPath.moveTo(t,e)},lineTo:function(t,e){this.currentPath.lineTo(t,e)},quadraticCurveTo:function(t,e,n,i){this.currentPath.quadraticCurveTo(t,e,n,i)},bezierCurveTo:function(t,e,n,i,r,o){this.currentPath.bezierCurveTo(t,e,n,i,r,o)},splineThru:function(t){this.currentPath.splineThru(t)},toShapes:function(t,e){function n(t){for(var e=[],n=0,i=t.length;n<i;n++){var r=t[n],o=new Pi;o.curves=r.curves,e.push(o)}return e}function i(t,e){for(var n=e.length,i=!1,r=n-1,o=0;o<n;r=o++){var a=e[r],s=e[o],l=s.x-a.x,h=s.y-a.y;if(Math.abs(h)>Number.EPSILON){if(h<0&&(a=e[o],l=-l,s=e[r],h=-h),t.y<a.y||t.y>s.y)continue;if(t.y===a.y){if(t.x===a.x)return!0}else{var c=h*(t.x-a.x)-l*(t.y-a.y);if(0===c)return!0;if(c<0)continue;i=!i}}else{if(t.y!==a.y)continue;if(s.x<=t.x&&t.x<=a.x||a.x<=t.x&&t.x<=s.x)return!0}}return i}var r=Hh.isClockWise,o=this.subPaths;if(0===o.length)return[];if(e===!0)return n(o);var a,s,l,h=[];if(1===o.length)return s=o[0],l=new Pi,l.curves=s.curves,h.push(l),h;var c=!r(o[0].getPoints());c=t?!c:c;var u,p=[],d=[],f=[],m=0;d[m]=void 0,f[m]=[];for(var g=0,v=o.length;g<v;g++)s=o[g],u=s.getPoints(),a=r(u),a=t?!a:a,a?(!c&&d[m]&&m++,d[m]={s:new Pi,p:u},d[m].s.curves=s.curves,c&&m++,f[m]=[]):f[m].push({h:s,p:u[0]});if(!d[0])return n(o);if(d.length>1){for(var y=!1,_=[],b=0,x=d.length;b<x;b++)p[b]=[];for(var b=0,x=d.length;b<x;b++)for(var A=f[b],w=0;w<A.length;w++){for(var E=A[w],T=!0,S=0;S<d.length;S++)i(E.p,d[S].p)&&(b!==S&&_.push({froms:b,tos:S,hole:w}),T?(T=!1,p[S].push(E)):y=!0);T&&p[b].push(E)}_.length>0&&(y||(f=p))}for(var M,g=0,C=d.length;g<C;g++){l=d[g].s,h.push(l),M=f[g];for(var P=0,L=M.length;P<L;P++)l.holes.push(M[P].h)}return h}}),Object.assign(Ri.prototype,{isFont:!0,generateShapes:function(t,e,n){function i(t){for(var n=String(t).split(""),i=e/o.resolution,a=(o.boundingBox.yMax-o.boundingBox.yMin+o.underlineThickness)*i,s=0,l=0,h=[],c=0;c<n.length;c++){var u=n[c];if("\n"===u)s=0,l-=a;else{var p=r(u,i,s,l);s+=p.offsetX,h.push(p.path)}}return h}function r(t,e,i,r){var a=o.glyphs[t]||o.glyphs["?"];if(a){var s,l,h,c,u,p,d,f,m,g,v,y=new Li,_=[];if(a.o)for(var b=a._cachedOutline||(a._cachedOutline=a.o.split(" ")),x=0,A=b.length;x<A;){var w=b[x++];switch(w){case"m":s=b[x++]*e+i,l=b[x++]*e+r,y.moveTo(s,l);break;case"l":s=b[x++]*e+i,l=b[x++]*e+r,y.lineTo(s,l);break;case"q":if(h=b[x++]*e+i,c=b[x++]*e+r,d=b[x++]*e+i,f=b[x++]*e+r,y.quadraticCurveTo(d,f,h,c),v=_[_.length-1]){u=v.x,p=v.y;for(var E=1;E<=n;E++){var T=E/n;mi(T,u,d,h),mi(T,p,f,c)}}break;case"b":if(h=b[x++]*e+i,c=b[x++]*e+r,d=b[x++]*e+i,f=b[x++]*e+r,m=b[x++]*e+i,g=b[x++]*e+r,y.bezierCurveTo(d,f,m,g,h,c),v=_[_.length-1]){u=v.x,p=v.y;for(var E=1;E<=n;E++){var T=E/n;bi(T,u,d,m,h),bi(T,p,f,g,c)}}}}return{offsetX:a.ha*e,path:y}}}void 0===e&&(e=100),void 0===n&&(n=4);for(var o=this.data,a=i(t),s=[],l=0,h=a.length;l<h;l++)Array.prototype.push.apply(s,a[l].toShapes());return s}}),Object.assign(Ni.prototype,{load:function(t,e,n,i){var r=this,o=new Ln(this.manager);o.load(t,function(t){var n;try{n=JSON.parse(t)}catch(i){console.warn("THREE.FontLoader: typeface.js support is being deprecated. Use typeface.json instead."),n=JSON.parse(t.substring(65,t.length-2))}var o=r.parse(n);e&&e(o)},n,i)},parse:function(t){return new Ri(t)}});var $h,tc={getContext:function(){return void 0===$h&&($h=new(window.AudioContext||window.webkitAudioContext)),$h},setContext:function(t){$h=t}};Object.assign(Oi.prototype,{load:function(t,e,n,i){var r=new Ln(this.manager);r.setResponseType("arraybuffer"),r.load(t,function(t){var n=tc.getContext();n.decodeAudioData(t,function(t){e(t)})},n,i)}}),Object.assign(Ii.prototype,{update:function(){var t,e,n,i,r,o,a,s,l=new h,c=new h;
21return function(h){var u=t!==this||e!==h.focus||n!==h.fov||i!==h.aspect*this.aspect||r!==h.near||o!==h.far||a!==h.zoom||s!==this.eyeSep;if(u){t=this,e=h.focus,n=h.fov,i=h.aspect*this.aspect,r=h.near,o=h.far,a=h.zoom;var p=h.projectionMatrix.clone();s=this.eyeSep/2;var d,f,m=s*r/e,g=r*Math.tan(xs.DEG2RAD*n*.5)/a;c.elements[12]=-s,l.elements[12]=s,d=-g*i+m,f=g*i+m,p.elements[0]=2*r/(f-d),p.elements[8]=(f+d)/(f-d),this.cameraL.projectionMatrix.copy(p),d=-g*i-m,f=g*i-m,p.elements[0]=2*r/(f-d),p.elements[8]=(f+d)/(f-d),this.cameraR.projectionMatrix.copy(p)}this.cameraL.matrixWorld.copy(h.matrixWorld).multiply(c),this.cameraR.matrixWorld.copy(h.matrixWorld).multiply(l)}}()}),Di.prototype=Object.create(lt.prototype),Di.prototype.constructor=Di,Bi.prototype=Object.assign(Object.create(It.prototype),{constructor:Bi,isArrayCamera:!0}),Ui.prototype=Object.assign(Object.create(lt.prototype),{constructor:Ui,getInput:function(){return this.gain},removeFilter:function(){null!==this.filter&&(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination),this.gain.connect(this.context.destination),this.filter=null)},getFilter:function(){return this.filter},setFilter:function(t){null!==this.filter?(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination)):this.gain.disconnect(this.context.destination),this.filter=t,this.gain.connect(this.filter),this.filter.connect(this.context.destination)},getMasterVolume:function(){return this.gain.gain.value},setMasterVolume:function(t){this.gain.gain.value=t},updateMatrixWorld:function(){var t=new l,e=new s,n=new l,i=new l;return function(r){lt.prototype.updateMatrixWorld.call(this,r);var o=this.context.listener,a=this.up;this.matrixWorld.decompose(t,e,n),i.set(0,0,-1).applyQuaternion(e),o.positionX?(o.positionX.setValueAtTime(t.x,this.context.currentTime),o.positionY.setValueAtTime(t.y,this.context.currentTime),o.positionZ.setValueAtTime(t.z,this.context.currentTime),o.forwardX.setValueAtTime(i.x,this.context.currentTime),o.forwardY.setValueAtTime(i.y,this.context.currentTime),o.forwardZ.setValueAtTime(i.z,this.context.currentTime),o.upX.setValueAtTime(a.x,this.context.currentTime),o.upY.setValueAtTime(a.y,this.context.currentTime),o.upZ.setValueAtTime(a.z,this.context.currentTime)):(o.setPosition(t.x,t.y,t.z),o.setOrientation(i.x,i.y,i.z,a.x,a.y,a.z))}}()}),Vi.prototype=Object.assign(Object.create(lt.prototype),{constructor:Vi,getOutput:function(){ 22return this.gain},setNodeSource:function(t){return this.hasPlaybackControl=!1,this.sourceType="audioNode",this.source=t,this.connect(),this},setBuffer:function(t){return this.buffer=t,this.sourceType="buffer",this.autoplay&&this.play(),this},play:function(){if(this.isPlaying===!0)return void console.warn("THREE.Audio: Audio is already playing.");if(this.hasPlaybackControl===!1)return void console.warn("THREE.Audio: this Audio has no playback control.");var t=this.context.createBufferSource();return t.buffer=this.buffer,t.loop=this.loop,t.onended=this.onEnded.bind(this),t.playbackRate.setValueAtTime(this.playbackRate,this.startTime),t.start(0,this.startTime),this.isPlaying=!0,this.source=t,this.connect()},pause:function(){return this.hasPlaybackControl===!1?void console.warn("THREE.Audio: this Audio has no playback control."):(this.source.stop(),this.startTime=this.context.currentTime,this.isPlaying=!1,this)},stop:function(){return this.hasPlaybackControl===!1?void console.warn("THREE.Audio: this Audio has no playback control."):(this.source.stop(),this.startTime=0,this.isPlaying=!1,this)},connect:function(){if(this.filters.length>0){this.source.connect(this.filters[0]);for(var t=1,e=this.filters.length;t<e;t++)this.filters[t-1].connect(this.filters[t]);this.filters[this.filters.length-1].connect(this.getOutput())}else this.source.connect(this.getOutput());return this},disconnect:function(){if(this.filters.length>0){this.source.disconnect(this.filters[0]);for(var t=1,e=this.filters.length;t<e;t++)this.filters[t-1].disconnect(this.filters[t]);this.filters[this.filters.length-1].disconnect(this.getOutput())}else this.source.disconnect(this.getOutput());return this},getFilters:function(){return this.filters},setFilters:function(t){return t||(t=[]),this.isPlaying===!0?(this.disconnect(),this.filters=t,this.connect()):this.filters=t,this},getFilter:function(){return this.getFilters()[0]},setFilter:function(t){return this.setFilters(t?[t]:[])}
22,setPlaybackRate:function(t){return this.hasPlaybackControl===!1?void console.warn("THREE.Audio: this Audio has no playback control."):(this.playbackRate=t,this.isPlaying===!0&&this.source.playbackRate.setValueAtTime(this.playbackRate,this.context.currentTime),this)},getPlaybackRate:function(){return this.playbackRate},onEnded:function(){this.isPlaying=!1},getLoop:function(){return this.hasPlaybackControl===!1?(console.warn("THREE.Audio: this Audio has no playback control."),!1):this.loop},setLoop:function(t){return this.hasPlaybackControl===!1?void console.warn("THREE.Audio: this Audio has no playback control."):(this.loop=t,this.isPlaying===!0&&(this.source.loop=this.loop),this)},getVolume:function(){return this.gain.gain.value},setVolume:function(t){return this.gain.gain.value=t,this}}),Gi.prototype=Object.assign(Object.create(Vi.prototype),{constructor:Gi,getOutput:function(){return this.panner},getRefDistance:function(){return this.panner.refDistance},setRefDistance:function(t){this.panner.refDistance=t},getRolloffFactor:function(){return this.panner.rolloffFactor},setRolloffFactor:function(t){this.panner.rolloffFactor=t},getDistanceModel:function(){return this.panner.distanceModel},setDistanceModel:function(t){this.panner.distanceModel=t},getMaxDistance:function(){return this.panner.maxDistance},setMaxDistance:function(t){this.panner.maxDistance=t},updateMatrixWorld:function(){var t=new l;return function(e){lt.prototype.updateMatrixWorld.call(this,e),t.setFromMatrixPosition(this.matrixWorld),this.panner.setPosition(t.x,t.y,t.z)}}()}),Object.assign(ki.prototype,{getFrequencyData:function(){return this.analyser.getByteFrequencyData(this.data),this.data},getAverageFrequency:function(){for(var t=0,e=this.getFrequencyData(),n=0;n<e.length;n++)t+=e[n];return t/e.length}}),Object.assign(Hi.prototype,{accumulate:function(t,e){var n=this.buffer,i=this.valueSize,r=t*i+i,o=this.cumulativeWeight;if(0===o){for(var a=0;a!==i;++a)n[r+a]=n[a];o=e}else{o+=e;var s=e/o;this._mixBufferRegion(n,r,0,s,i)}this.cumulativeWeight=o},apply:function(t){var e=this.valueSize,n=this.buffer,i=t*e+e,r=this.cumulativeWeight,o=this.binding;if(this.cumulativeWeight=0,r<1){var a=3*e;this._mixBufferRegion(n,i,a,1-r,e)}for(var s=e,l=e+e;s!==l;++s)if(n[s]!==n[s+e]){o.setValue(n,i);break}},saveOriginalState:function(){var t=this.binding,e=this.buffer,n=this.valueSize,i=3*n;t.getValue(e,i);for(var r=n,o=i;r!==o;++r)e[r]=e[i+r%n];this.cumulativeWeight=0},restoreOriginalState:function(){var t=3*this.valueSize;this.binding.setValue(this.buffer,t)},_select:function(t,e,n,i,r){if(i>=.5)for(var o=0;o!==r;++o)t[e+o]=t[n+o]},_slerp:function(t,e,n,i){s.slerpFlat(t,e,t,e,t,n,i)},_lerp:function(t,e,n,i,r){for(var o=1-i,a=0;a!==r;++a){var s=e+a;t[s]=t[s]*o+t[n+a]*i}}}),Object.assign(Fi.prototype,{getValue:function(t,e){this.bind();var n=this._targetGroup.nCachedObjects_,i=this._bindings[n];void 0!==i&&i.getValue(t,e)},setValue:function(t,e){for(var n=this._bindings,i=this._targetGroup.nCachedObjects_,r=n.length;i!==r;++i)n[i].setValue(t,e)},bind:function(){for(var t=this._bindings,e=this._targetGroup.nCachedObjects_,n=t.length;e!==n;++e)t[e].bind()},unbind:function(){for(var t=this._bindings,e=this._targetGroup.nCachedObjects_,n=t.length;e!==n;++e)t[e].unbind()}}),Object.assign(zi,{Composite:Fi,create:function(t,e,n){return t&&t.isAnimationObjectGroup?new zi.Composite(t,e,n):new zi(t,e,n)},parseTrackName:function(){var t=/((?:[\w-]+[\/:])*)/,e=/([\w-\.]+)?/,n=/(?:\.([\w-]+)(?:\[(.+)\])?)?/,i=/\.([\w-]+)(?:\[(.+)\])?/,r=new RegExp("^"+t.source+e.source+n.source+i.source+"$"),o=["material","materials","bones"];return function(t){var e=r.exec(t);if(!e)throw new Error("PropertyBinding: Cannot parse trackName: "+t);var n={nodeName:e[2],objectName:e[3],objectIndex:e[4],propertyName:e[5],propertyIndex:e[6]},i=n.nodeName&&n.nodeName.lastIndexOf(".");if(void 0!==i&&i!==-1){var a=n.nodeName.substring(i+1);o.indexOf(a)!==-1&&(n.nodeName=n.nodeName.substring(0,i),n.objectName=a)}if(null===n.propertyName||0===n.propertyName.length)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+t);return n}}(),findNode:function(t,e){if(!e||""===e||"root"===e||"."===e||e===-1||e===t.name||e===t.uuid)return t;if(t.skeleton){var n=function(t){for(var n=0;n<t.bones.length;n++){var i=t.bones[n];if(i.name===e)return i}return null},i=n(t.skeleton);if(i)return i}if(t.children){var r=function(t){for(var n=0;n<t.length;n++){var i=t[n];if(i.name===e||i.uuid===e)return i;var o=r(i.children);if(o)return o}return null},o=r(t.children);if(o)return o}return null}}),Object.assign(zi.prototype,{_getValue_unavailable:function(){},_setValue_unavailable:function(){},BindingType:{Direct:0,EntireArray:1,ArrayElement:2,HasFromToArray:3},Versioning:{None:0,NeedsUpdate:1,MatrixWorldNeedsUpdate:2},GetterByBindingType:[function(t,e){t[e]=this.node[this.propertyName]},function(t,e){for(var n=this.resolvedProperty,i=0,r=n.length;i!==r;++i)t[e++]=n[i]},function(t,e){t[e]=this.resolvedProperty[this.propertyIndex]},function(t,e){this.resolvedProperty.toArray(t,e)}],SetterByBindingTypeAndVersioning:[[function(t,e){this.node[this.propertyName]=t[e]},function(t,e){this.node[this.propertyName]=t[e],this.targetObject.needsUpdate=!0},function(t,e){this.node[this.propertyName]=t[e],this.targetObject.matrixWorldNeedsUpdate=!0}],[function(t,e){for(var n=this.resolvedProperty,i=0,r=n.length;i!==r;++i)n[i]=t[e++]},function(t,e){for(var n=this.resolvedProperty,i=0,r=n.length;i!==r;++i)n[i]=t[e++];this.targetObject.needsUpdate=!0},function(t,e){for(var n=this.resolvedProperty,i=0,r=n.length;i!==r;++i)n[i]=t[e++];this.targetObject.matrixWorldNeedsUpdate=!0}],[function(t,e){this.resolvedProperty[this.propertyIndex]=t[e]},function(t,e){this.resolvedProperty[this.propertyIndex]=t[e],this.targetObject.needsUpdate=!0},function(t,e){this.resolvedProperty[this.propertyIndex]=t[e],this.targetObject.matrixWorldNeedsUpdate=!0}],[function(t,e){this.resolvedProperty.fromArray(t,e)},function(t,e){this.resolvedProperty.fromArray(t,e),this.targetObject.needsUpdate=!0},function(t,e){this.resolvedProperty.fromArray(t,e),this.targetObject.matrixWorldNeedsUpdate=!0}]],getValue:function(t,e){this.bind(),this.getValue(t,e)},setValue:function(t,e){this.bind(),this.setValue(t,e)},bind:function(){var t=this.node,e=this.parsedPath,n=e.objectName,i=e.propertyName,r=e.propertyIndex;if(t||(t=zi.findNode(this.rootNode,e.nodeName)||this.rootNode,this.node=t),this.getValue=this._getValue_unavailable,this.setValue=this._setValue_unavailable,!t)return void console.error(" trying to update node for track: "+this.path+" but it wasn't found.");if(n){var o=e.objectIndex;switch(n){case"materials":if(!t.material)return void console.error(" can not bind to material as no
22de does not have a material",this);if(!t.material.materials)return void console.error(" can not bind to material.materials as node.material does not have a materials array",this);t=t.material.materials;break;case"bones":if(!t.skeleton)return void console.error(" can not bind to bones as node does not have a skeleton",this);t=t.skeleton.bones;for(var a=0;a<t.length;a++)if(t[a].name===o){o=a;break}break;default:if(void 0===t[n])return void console.error(" can not bind to objectName of node, undefined",this);t=t[n]}if(void 0!==o){if(void 0===t[o])return void console.error(" trying to bind to objectIndex of objectName, but is undefined:",this,t);t=t[o]}}var s=t[i];if(void 0===s){var l=e.nodeName;return void console.error(" trying to update property for track: "+l+"."+i+" but it wasn't found.",t)}var h=this.Versioning.None;void 0!==t.needsUpdate?(h=this.Versioning.NeedsUpdate,this.targetObject=t):void 0!==t.matrixWorldNeedsUpdate&&(h=this.Versioning.MatrixWorldNeedsUpdate,this.targetObject=t);var c=this.BindingType.Direct;if(void 0!==r){if("morphTargetInfluences"===i){if(!t.geometry)return void console.error(" can not bind to morphTargetInfluences becasuse node does not have a geometry",this);if(!t.geometry.morphTargets)return void console.error(" can not bind to morphTargetInfluences becasuse node does not have a geometry.morphTargets",this);for(var a=0;a<this.node.geometry.morphTargets.length;a++)if(t.geometry.morphTargets[a].name===r){r=a;break}}c=this.BindingType.ArrayElement,this.resolvedProperty=s,this.propertyIndex=r}else void 0!==s.fromArray&&void 0!==s.toArray?(c=this.BindingType.HasFromToArray,this.resolvedProperty=s):Array.isArray(s)?(c=this.BindingType.EntireArray,this.resolvedProperty=s):this.propertyName=i;this.getValue=this.GetterByBindingType[c],this.setValue=this.SetterByBindingTypeAndVersioning[c][h]},unbind:function(){this.node=null,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}}),Object.assign(zi.prototype,{_getValue_unbound:zi.prototype.getValue,_setValue_unbound:zi.prototype.setValue}),Object.assign(ji.prototype,{isAnimationObjectGroup:!0,add:function(t){for(var e=this._objects,n=e.length,i=this.nCachedObjects_,r=this._indicesByUUID,o=this._paths,a=this._parsedPaths,s=this._bindings,l=s.length,h=0,c=arguments.length;h!==c;++h){var u=arguments[h],p=u.uuid,d=r[p],f=void 0;if(void 0===d){d=n++,r[p]=d,e.push(u);for(var m=0,g=l;m!==g;++m)s[m].push(new zi(u,o[m],a[m]))}else if(d<i){f=e[d];var v=--i,y=e[v];r[y.uuid]=d,e[d]=y,r[p]=v,e[v]=u;for(var m=0,g=l;m!==g;++m){var _=s[m],b=_[v],x=_[d];_[d]=b,void 0===x&&(x=new zi(u,o[m],a[m])),_[v]=x}}else e[d]!==f&&console.error("Different objects with the same UUID detected. Clean the caches or recreate your infrastructure when reloading scenes...")}this.nCachedObjects_=i},remove:function(t){for(var e=this._objects,n=this.nCachedObjects_,i=this._indicesByUUID,r=this._bindings,o=r.length,a=0,s=arguments.length;a!==s;++a){var l=arguments[a],h=l.uuid,c=i[h];if(void 0!==c&&c>=n){var u=n++,p=e[u];i[p.uuid]=c,e[c]=p,i[h]=u,e[u]=l;for(var d=0,f=o;d!==f;++d){var m=r[d],g=m[u],v=m[c];m[c]=g,m[u]=v}}}this.nCachedObjects_=n},uncache:function(t){for(var e=this._objects,n=e.length,i=this.nCachedObjects_,r=this._indicesByUUID,o=this._bindings,a=o.length,s=0,l=arguments.length;s!==l;++s){var h=arguments[s],c=h.uuid,u=r[c];if(void 0!==u)if(delete r[c],u<i){var p=--i,d=e[p],f=--n,m=e[f];r[d.uuid]=u,e[u]=d,r[m.uuid]=p,e[p]=m,e.pop();for(var g=0,v=a;g!==v;++g){var y=o[g],_=y[p],b=y[f];y[u]=_,y[p]=b,y.pop()}}else{var f=--n,m=e[f];r[m.uuid]=u,e[u]=m,e.pop();for(var g=0,v=a;g!==v;++g){var y=o[g];y[u]=y[f],y.pop()}}}this.nCachedObjects_=i},subscribe_:function(t,e){var n=this._bindingsIndicesByPath,i=n[t],r=this._bindings;if(void 0!==i)return r[i];var o=this._paths,a=this._parsedPaths,s=this._objects,l=s.length,h=this.nCachedObjects_,c=new Array(l);i=r.length,n[t]=i,o.push(t),a.push(e),r.push(c);for(var u=h,p=s.length;u!==p;++u){var d=s[u];c[u]=new zi(d,t,e)}return c},unsubscribe_:function(t){var e=this._bindingsIndicesByPath,n=e[t];if(void 0!==n){var i=this._paths,r=this._parsedPaths,o=this._bindings,a=o.length-1,s=o[a],l=t[a];e[l]=n,o[n]=s,o.pop(),r[n]=r[a],r.pop(),i[n]=i[a],i.pop()}}}),Object.assign(Xi.prototype,{play:function(){return this._mixer._activateAction(this),this},stop:function(){return this._mixer._deactivateAction(this),this.reset()},reset:function(){return this.paused=!1,this.enabled=!0,this.time=0,this._loopCount=-1,this._startTime=null,this.stopFading().stopWarping()},isRunning:function(){return this.enabled&&!this.paused&&0!==this.timeScale&&null===this._startTime&&this._mixer._isActiveAction(this)},isScheduled:function(){return this._mixer._isActiveAction(this)},startAt:function(t){return this._startTime=t,this},setLoop:function(t,e){return this.loop=t,this.repetitions=e,this},setEffectiveWeight:function(t){return this.weight=t,this._effectiveWeight=this.enabled?t:0,this.stopFading()},getEffectiveWeight:function(){return this._effectiveWeight},fadeIn:function(t){return this._scheduleFading(t,0,1)},fadeOut:function(t){return this._scheduleFading(t,1,0)},crossFadeFrom:function(t,e,n){if(t.fadeOut(e),this.fadeIn(e),n){var i=this._clip.duration,r=t._clip.duration,o=r/i,a=i/r;t.warp(1,o,e),this.warp(a,1,e)}return this},crossFadeTo:function(t,e,n){return t.crossFadeFrom(this,e,n)},stopFading:function(){var t=this._weightInterpolant;return null!==t&&(this._weightInterpolant=null,this._mixer._takeBackControlInterpolant(t)),this},setEffectiveTimeScale:function(t){return this.timeScale=t,this._effectiveTimeScale=this.paused?0:t,this.stopWarping()},getEffectiveTimeScale:function(){return this._effectiveTimeScale},setDuration:function(t){return this.timeScale=this._clip.duration/t,this.stopWarping()},syncWith:function(t){return this.time=t.time,this.timeScale=t.timeScale,this.stopWarping()},halt:function(t){return this.warp(this._effectiveTimeScale,0,t)},warp:function(t,e,n){var i=this._mixer,r=i.time,o=this._timeScaleInterpolant,a=this.timeScale;null===o&&(o=i._lendControlInterpolant(),this._timeScaleInterpolant=o);var s=o.parameterPositions,l=o.sampleValues;return s[0]=r,s[1]=r+n,l[0]=t/a,l[1]=e/a,this},stopWarping:function(){var t=this._timeScaleInterpolant;return null!==t&&(this._timeScaleInterpolant=null,this._mixer._takeBackControlInterpolant(t)),this},getMixer:function(){return this._mixer},getClip:function(){return this._clip},getRoot:function(){return this._localRoot||this._mixer._root},_update:function(t,e,n,i){if(!this.enabled)return void this._updateWeight(t);var r=this._startTime;if(null!==r){var o=(t-r)*n;if(o<0||0===n)return;this._startTime=null,e=n*o}e*=this._updateTimeScale(t);var a=this._updateTime(e),s=this._updateWeight(t);if(s>0)for(var l=this._interpolants,h=this._propertyBindings,c=0,u=l.length;c!==u;++c)l[c].evaluate(a),h[c].accumulate(i,s)},_updateWeight:function(t){var e=0;if(this.enabled){e=this.weight;var n=this._weightInterpolant;if(null!==n){var i=n.evaluate(t)[0];e*=i,t>n.parameterPositions[1]&&(this.stopFading(),0===i&&(this.enabled=!1))}}return this._effectiveWeight=e,e},_updateTimeScale:function(t){var e=0;if(!this.paused){e=this.timeScale;var n=this._timeScaleInterpolant;if(null!==n){var i=n.evaluate(t)[0];e*=i,t>n.parameterPositions[1]&&(this.stopWarping(),0===e?this.paused=!0:this.timeScale=e)}}return this._effectiveTimeScale=e,e},_updateTime:function(t){var e=this.time+t;if(0===t)return e;var n=this._clip.duration,i=this.loop,r=this._loopCount;if(i===$a){r===-1&&(this._loopCount=0,this._setEndings(!0,!0,!1));t:{if(e>=n)e=n;else{if(!(e<0))break t;e=0}this.clampWhenFinished?this.paused=!0:this.enabled=!1,this._mixer.dispatchEvent({type:"finished",action:this,direction:t<0?-1:1})}}
22else{var o=i===es;if(r===-1&&(t>=0?(r=0,this._setEndings(!0,0===this.repetitions,o)):this._setEndings(0===this.repetitions,!0,o)),e>=n||e<0){var a=Math.floor(e/n);e-=n*a,r+=Math.abs(a);var s=this.repetitions-r;if(s<0)this.clampWhenFinished?this.paused=!0:this.enabled=!1,e=t>0?n:0,this._mixer.dispatchEvent({type:"finished",action:this,direction:t>0?1:-1});else{if(0===s){var l=t<0;this._setEndings(l,!l,o)}else this._setEndings(!1,!1,o);this._loopCount=r,this._mixer.dispatchEvent({type:"loop",action:this,loopDelta:a})}}if(o&&1===(1&r))return this.time=e,n-e}return this.time=e,e},_setEndings:function(t,e,n){var i=this._interpolantSettings;n?(i.endingStart=as,i.endingEnd=as):(t?i.endingStart=this.zeroSlopeAtStart?as:os:i.endingStart=ss,e?i.endingEnd=this.zeroSlopeAtEnd?as:os:i.endingEnd=ss)},_scheduleFading:function(t,e,n){var i=this._mixer,r=i.time,o=this._weightInterpolant;null===o&&(o=i._lendControlInterpolant(),this._weightInterpolant=o);var a=o.parameterPositions,s=o.sampleValues;return a[0]=r,s[0]=e,a[1]=r+t,s[1]=n,this}}),Object.assign(Wi.prototype,e.prototype,{_bindAction:function(t,e){var n=t._localRoot||this._root,i=t._clip.tracks,r=i.length,o=t._propertyBindings,a=t._interpolants,s=n.uuid,l=this._bindingsByRootAndName,h=l[s];void 0===h&&(h={},l[s]=h);for(var c=0;c!==r;++c){var u=i[c],p=u.name,d=h[p];if(void 0!==d)o[c]=d;else{if(d=o[c],void 0!==d){null===d._cacheIndex&&(++d.referenceCount,this._addInactiveBinding(d,s,p));continue}var f=e&&e._propertyBindings[c].binding.parsedPath;d=new Hi(zi.create(n,p,f),u.ValueTypeName,u.getValueSize()),++d.referenceCount,this._addInactiveBinding(d,s,p),o[c]=d}a[c].resultBuffer=d.buffer}},_activateAction:function(t){if(!this._isActiveAction(t)){if(null===t._cacheIndex){var e=(t._localRoot||this._root).uuid,n=t._clip.uuid,i=this._actionsByClip[n];this._bindAction(t,i&&i.knownActions[0]),this._addInactiveAction(t,n,e)}for(var r=t._propertyBindings,o=0,a=r.length;o!==a;++o){var s=r[o];0===s.useCount++&&(this._lendBinding(s),s.saveOriginalState())}this._lendAction(t)}},_deactivateAction:function(t){if(this._isActiveAction(t)){for(var e=t._propertyBindings,n=0,i=e.length;n!==i;++n){var r=e[n];0===--r.useCount&&(r.restoreOriginalState(),this._takeBackBinding(r))}this._takeBackAction(t)}},_initMemoryManager:function(){this._actions=[],this._nActiveActions=0,this._actionsByClip={},this._bindings=[],this._nActiveBindings=0,this._bindingsByRootAndName={},this._controlInterpolants=[],this._nActiveControlInterpolants=0;var t=this;this.stats={actions:{get total(){return t._actions.length},get inUse(){return t._nActiveActions}},bindings:{get total(){return t._bindings.length},get inUse(){return t._nActiveBindings}},controlInterpolants:{get total(){return t._controlInterpolants.length},get inUse(){return t._nActiveControlInterpolants}}}},_isActiveAction:function(t){var e=t._cacheIndex;return null!==e&&e<this._nActiveActions},_addInactiveAction:function(t,e,n){var i=this._actions,r=this._actionsByClip,o=r[e];if(void 0===o)o={knownActions:[t],actionByRoot:{}},t._byClipCacheIndex=0,r[e]=o;else{var a=o.knownActions;t._byClipCacheIndex=a.length,a.push(t)}t._cacheIndex=i.length,i.push(t),o.actionByRoot[n]=t},_removeInactiveAction:function(t){var e=this._actions,n=e[e.length-1],i=t._cacheIndex;n._cacheIndex=i,e[i]=n,e.pop(),t._cacheIndex=null;var r=t._clip.uuid,o=this._actionsByClip,a=o[r],s=a.knownActions,l=s[s.length-1],h=t._byClipCacheIndex;l._byClipCacheIndex=h,s[h]=l,s.pop(),t._byClipCacheIndex=null;var c=a.actionByRoot,u=(t._localRoot||this._root).uuid;delete c[u],0===s.length&&delete o[r],this._removeInactiveBindingsForAction(t)},_removeInactiveBindingsForAction:function(t){for(var e=t._propertyBindings,n=0,i=e.length;n!==i;++n){var r=e[n];0===--r.referenceCount&&this._removeInactiveBinding(r)}},_lendAction:function(t){var e=this._actions,n=t._cacheIndex,i=this._nActiveActions++,r=e[i];t._cacheIndex=i,e[i]=t,r._cacheIndex=n,e[n]=r},_takeBackAction:function(t){var e=this._actions,n=t._cacheIndex,i=--this._nActiveActions,r=e[i];t._cacheIndex=i,e[i]=t,r._cacheIndex=n,e[n]=r},_addInactiveBinding:function(t,e,n){var i=this._bindingsByRootAndName,r=i[e],o=this._bindings;void 0===r&&(r={},i[e]=r),r[n]=t,t._cacheIndex=o.length,o.push(t)},_removeInactiveBinding:function(t){var e=this._bindings,n=t.binding,i=n.rootNode.uuid,r=n.path,o=this._bindingsByRootAndName,a=o[i],s=e[e.length-1],l=t._cacheIndex;s._cacheIndex=l,e[l]=s,e.pop(),delete a[r];t:{for(var h in a)break t;delete o[i]}},_lendBinding:function(t){var e=this._bindings,n=t._cacheIndex,i=this._nActiveBindings++,r=e[i];t._cacheIndex=i,e[i]=t,r._cacheIndex=n,e[n]=r},_takeBackBinding:function(t){var e=this._bindings,n=t._cacheIndex,i=--this._nActiveBindings,r=e[i];t._cacheIndex=i,e[i]=t,r._cacheIndex=n,e[n]=r},_lendControlInterpolant:function(){var t=this._controlInterpolants,e=this._nActiveControlInterpolants++,n=t[e];return void 0===n&&(n=new Kn(new Float32Array(2),new Float32Array(2),1,this._controlInterpolantsResultBuffer),n.__cacheIndex=e,t[e]=n),n},_takeBackControlInterpolant:function(t){var e=this._controlInterpolants,n=t.__cacheIndex,i=--this._nActiveControlInterpolants,r=e[i];t.__cacheIndex=i,e[i]=t,r.__cacheIndex=n,e[n]=r},_controlInterpolantsResultBuffer:new Float32Array(1),clipAction:function(t,e){var n=e||this._root,i=n.uuid,r="string"==typeof t?oi.findByName(n,t):t,o=null!==r?r.uuid:t,a=this._actionsByClip[o],s=null;if(void 0!==a){var l=a.actionByRoot[i];if(void 0!==l)return l;s=a.knownActions[0],null===r&&(r=s._clip)}if(null===r)return null;var h=new Xi(this,r,e);return this._bindAction(h,s),this._addInactiveAction(h,o,i),h},existingAction:function(t,e){var n=e||this._root,i=n.uuid,r="string"==typeof t?oi.findByName(n,t):t,o=r?r.uuid:t,a=this._actionsByClip[o];return void 0!==a?a.actionByRoot[i]||null:null},stopAllAction:function(){var t=this._actions,e=this._nActiveActions,n=this._bindings,i=this._nActiveBindings;this._nActiveActions=0,this._nActiveBindings=0;for(var r=0;r!==e;++r)t[r].reset();for(var r=0;r!==i;++r)n[r].useCount=0;return this},update:function(t){t*=this.timeScale;for(var e=this._actions,n=this._nActiveActions,i=this.time+=t,r=Math.sign(t),o=this._accuIndex^=1,a=0;a!==n;++a){var s=e[a];s._update(i,t,r,o)}for(var l=this._bindings,h=this._nActiveBindings,a=0;a!==h;++a)l[a].apply(o);return this},getRoot:function(){return this._root},uncacheClip:function(t){var e=this._actions,n=t.uuid,i=this._actionsByClip,r=i[n];if(void 0!==r){for(var o=r.knownActions,a=0,s=o.length;a!==s;++a){var l=o[a];this._deactivateAction(l);var h=l._cacheIndex,c=e[e.length-1];l._cacheIndex=null,l._byClipCacheIndex=null,c._cacheIndex=h,e[h]=c,e.pop(),this._removeInactiveBindingsForAction(l)}delete i[n]}},uncacheRoot:function(t){var e=t.uuid,n=this._actionsByClip;for(var i in n){var r=n[i].actionByRoot,o=r[e];void 0!==o&&(this._deactivateAction(o),this._removeInactiveAction(o))}var a=this._bindingsByRootAndName,s=a[e];if(void 0!==s)for(var l in s){var h=s[l];h.restoreOriginalState(),this._removeInactiveBinding(h)}},uncacheAction:function(t,e){var n=this.existingAction(t,e);null!==n&&(this._deactivateAction(n),this._removeInactiveAction(n))}}),Yi.prototype.clone=function(){return new Yi(void 0===this.value.clone?this.value:this.value.clone())},Ki.prototype=Object.assign(Object.create(Mt.prototype),{constructor:Ki,isInstancedBufferGeometry:!0,addGroup:function(t,e,n){this.groups.push({start:t,count:e,materialIndex:n})},copy:function(t){var e=t.index;null!==e&&this.setIndex(e.clone());var n=t.attributes;for(var i in n){var r=n[i];this.addAttribute(i,r.clone())}for(var o=t.groups,a=0,s=o.length;a<s;a++){var l=o[a];this.addGroup(l.start,l.count,l.materialIndex)}return this}}),Object.defineProperties(Zi.prototype,{count:{get:function(){return this.data.count}},array:{get:function(){return this.data.array}}}),Object.assign(Zi.prototype,{isInterleavedBufferAttribute:!0,setX:function(t,e){return this.data.array[t*this.data.stride+this.offset]=e,this},setY:function(t,e){return this.data.array[t*this.data.stride+this.offset+1]=e,this},setZ:function(t,e){return this.data.array[t*this.data.stride+this.offset+2]=e,this},setW:function(t,e){return this.data.array[t*this.data.stride+this.offset+3]=e,this},getX:function(t){return this.data.array[t*this.data.stride+this.offset]},getY:function(t){return this.data.array[t*this.data.stride+this.offset+1]},getZ:function(t){return this.data.array[t*this.data.stride+this.offset+2]},getW:function(t){return this.data.array[t*this.data.stride+this.offset+3]},setXY:function(t,e,n){return t=t*this.data.stride+this.offset,this.data.array[t+0]=e,this.data.array[t+1]=n,this},setXYZ:function(t,e,n,i){return t=t*this.data.stride+this.offset,this.data.array[t+0]=e,this.data.array[t+1]=n,this.data.array[t+2]=i,this},setXYZW:function(t,e,n,i,r){return t=t*this.data.stride+this.offset,this.data.array[t+0]=e,this.data.array[t+1]=n,this.data.array[t+2]=i,this.data.array[t+3]=r,this}}),Object.defineProperty(qi.prototype,"needsUpdate",{set:function(t){t===!0&&this.version++}}),Object.assign(qi.prototype,{isInterleavedBuffer:!0,setArray:function(t){if(Array.isArray(t))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.count=void 0!==t?t.length/this.stride:0,this.array=t},setDynamic:function(t){return this.dynamic=t,this},copy:function(t){return this.array=new t.array.constructor(t.array),this.count=t.count,this.stride=t.stride,this.dynamic=t.dynamic,this},copyAt:function(t,e,n){t*=this.stride,n*=e.stride;for(var i=0,r=this.stride;i<r;i++)this.array[t+i]=e.array[n+i];return this},set:function(t,e){return void 0===e&&(e=0),this.array.set(t,e),this},clone:function(){return(new this.constructor).copy(this)},onUpload:function(t){return this.onUploadCallback=t,this}}),Qi.prototype=Object.assign(Object.create(qi.prototype),{constructor:Qi,isInstancedInterleavedBuffer:!0,copy:function(t){return qi.prototype.copy.call(this,t),this.meshPerAttribute=t.meshPerAttribute,this}}),Ji.prototype=Object.assign(Object.create(dt.prototype),{constructor:Ji,isInstancedBufferAttribute:!0,copy:function(t){return dt.prototype.copy.call(this,t),this.meshPerAttribute=t.meshPerAttribute,this}}),Object.assign($i.prototype,{linePrecision:1,set:function(t,e){this.ray.set(t,e)},setFromCamera:function(t,e){e&&e.isPerspectiveCamera?(this.ray.origin.setFromMatrixPosition(e.matrixWorld),this.ray.direction.set(t.x,t.y,.5).unproject(e).sub(this.ray.origin).normalize()):e&&e.isOrthographicCamera?(this.ray.origin.set(t.x,t.y,(e.near+e.far)/(e.near-e.far)).unproject(e),this.ray.direction.set(0,0,-1).transformDirection(e.matrixWorld)):console.error("THREE.Raycaster:
22Unsupported camera type.")},intersectObject:function(t,e){var n=[];return er(t,this,n,e),n.sort(tr),n},intersectObjects:function(t,e){var n=[];if(Array.isArray(t)===!1)return console.warn("THREE.Raycaster.intersectObjects: objects is not an Array."),n;for(var i=0,r=t.length;i<r;i++)er(t[i],this,n,e);return n.sort(tr),n}}),Object.assign(nr.prototype,{start:function(){this.startTime=("undefined"==typeof performance?Date:performance).now(),this.oldTime=this.startTime,this.elapsedTime=0,this.running=!0},stop:function(){this.getElapsedTime(),this.running=!1},getElapsedTime:function(){return this.getDelta(),this.elapsedTime},getDelta:function(){var t=0;if(this.autoStart&&!this.running)return this.start(),0;if(this.running){var e=("undefined"==typeof performance?Date:performance).now();t=(e-this.oldTime)/1e3,this.oldTime=e,this.elapsedTime+=t}return t}}),Object.assign(ir.prototype,{set:function(t,e,n){return this.radius=t,this.phi=e,this.theta=n,this},clone:function(){return(new this.constructor).copy(this)},copy:function(t){return this.radius=t.radius,this.phi=t.phi,this.theta=t.theta,this},makeSafe:function(){var t=1e-6;return this.phi=Math.max(t,Math.min(Math.PI-t,this.phi)),this},setFromVector3:function(t){return this.radius=t.length(),0===this.radius?(this.theta=0,this.phi=0):(this.theta=Math.atan2(t.x,t.z),this.phi=Math.acos(xs.clamp(t.y/this.radius,-1,1))),this}}),Object.assign(rr.prototype,{set:function(t,e,n){return this.radius=t,this.theta=e,this.y=n,this},clone:function(){return(new this.constructor).copy(this)},copy:function(t){return this.radius=t.radius,this.theta=t.theta,this.y=t.y,this},setFromVector3:function(t){return this.radius=Math.sqrt(t.x*t.x+t.z*t.z),this.theta=Math.atan2(t.x,t.z),this.y=t.y,this}}),or.prototype=Object.create(Ct.prototype),or.prototype.constructor=or,or.prototype.createAnimation=function(t,e,n,i){var r={start:e,end:n,length:n-e+1,fps:i,duration:(n-e)/i,lastFrame:0,currentFrame:0,active:!1,time:0,direction:1,weight:1,directionBackwards:!1,mirroredLoop:!1};this.animationsMap[t]=r,this.animationsList.push(r)},or.prototype.autoCreateAnimations=function(t){for(var e,n=/([a-z]+)_?(\d+)/i,i={},r=this.geometry,o=0,a=r.morphTargets.length;o<a;o++){var s=r.morphTargets[o],l=s.name.match(n);if(l&&l.length>1){var h=l[1];i[h]||(i[h]={start:1/0,end:-(1/0)});var c=i[h];o<c.start&&(c.start=o),o>c.end&&(c.end=o),e||(e=h)}}for(var h in i){var c=i[h];this.createAnimation(h,c.start,c.end,t)}this.firstAnimation=e},or.prototype.setAnimationDirectionForward=function(t){var e=this.animationsMap[t];e&&(e.direction=1,e.directionBackwards=!1)},or.prototype.setAnimationDirectionBackward=function(t){var e=this.animationsMap[t];e&&(e.direction=-1,e.directionBackwards=!0)},or.prototype.setAnimationFPS=function(t,e){var n=this.animationsMap[t];n&&(n.fps=e,n.duration=(n.end-n.start)/n.fps)},or.prototype.setAnimationDuration=function(t,e){var n=this.animationsMap[t];n&&(n.duration=e,n.fps=(n.end-n.start)/n.duration)},or.prototype.setAnimationWeight=function(t,e){var n=this.animationsMap[t];n&&(n.weight=e)},or.prototype.setAnimationTime=function(t,e){var n=this.animationsMap[t];n&&(n.time=e)},or.prototype.getAnimationTime=function(t){var e=0,n=this.animationsMap[t];return n&&(e=n.time),e},or.prototype.getAnimationDuration=function(t){var e=-1,n=this.animationsMap[t];return n&&(e=n.duration),e},or.prototype.playAnimation=function(t){var e=this.animationsMap[t];e?(e.time=0,e.active=!0):console.warn("THREE.MorphBlendMesh: animation["+t+"] undefined in .playAnimation()")},or.prototype.stopAnimation=function(t){var e=this.animationsMap[t];e&&(e.active=!1)},or.prototype.update=function(t){for(var e=0,n=this.animationsList.length;e<n;e++){var i=this.animationsList[e];if(i.active){var r=i.duration/i.length;i.time+=i.direction*t,i.mirroredLoop?(i.time>i.duration||i.time<0)&&(i.direction*=-1,i.time>i.duration&&(i.time=i.duration,i.directionBackwards=!0),i.time<0&&(i.time=0,i.directionBackwards=!1)):(i.time=i.time%i.duration,i.time<0&&(i.time+=i.duration));var o=i.start+xs.clamp(Math.floor(i.time/r),0,i.length-1),a=i.weight;o!==i.currentFrame&&(this.morphTargetInfluences[i.lastFrame]=0,this.morphTargetInfluences[i.currentFrame]=1*a,this.morphTargetInfluences[o]=0,i.lastFrame=i.currentFrame,i.currentFrame=o);var s=i.time%r/r;i.directionBackwards&&(s=1-s),i.currentFrame!==i.lastFrame?(this.morphTargetInfluences[i.currentFrame]=s*a,this.morphTargetInfluences[i.lastFrame]=(1-s)*a):this.morphTargetInfluences[i.currentFrame]=a}}},ar.prototype=Object.create(lt.prototype),ar.prototype.constructor=ar,ar.prototype.isImmediateRenderObject=!0,sr.prototype=Object.create(Se.prototype),sr.prototype.constructor=sr,sr.prototype.update=function(){var t=new l,e=new l,n=new et;return function(){var i=["a","b","c"];this.object.updateMatrixWorld(!0),n.getNormalMatrix(this.object.matrixWorld);var r=this.object.matrixWorld,o=this.geometry.attributes.position,a=this.object.geometry; 23if(a&&a.isGeometry)for(var s=a.vertices,l=a.faces,h=0,c=0,u=l.length;c<u;c++)for(var p=l[c],d=0,f=p.vertexNormals.length;d<f;d++){var m=s[p[i[d]]],g=p.vertexNormals[d];t.copy(m).applyMatrix4(r),e.copy(g).applyMatrix3(n).normalize().multiplyScalar(this.size).add(t),o.setXYZ(h,t.x,t.y,t.z),h+=1,o.setXYZ(h,e.x,e.y,e.z),h+=1}else if(a&&a.isBufferGeometry)for(var v=a.attributes.position,y=a.attributes.normal,h=0,d=0,f=v.count;d<f;d++)t.set(v.getX(d),v.getY(d),v.getZ(d)).applyMatrix4(r),e.set(y.getX(d),y.getY(d),y.getZ(d)),e.applyMatrix3(n).normalize().multiplyScalar(this.size).add(t),o.setXYZ(h,t.x,t.y,t.z),h+=1,o.setXYZ(h,e.x,e.y,e.z),h+=1;o.needsUpdate=!0}}(),lr.prototype=Object.create(lt.prototype),lr.prototype.constructor=lr,lr.prototype.dispose=function(){this.cone.geometry.dispose(),this.cone.material.dispose()},lr.prototype.update=function(){var t=new l,e=new l;return function(){var n=this.light.distance?this.light.distance:1e3,i=n*Math.tan(this.light.angle);this.cone.scale.set(i,i,n),t.setFromMatrixPosition(this.light.matrixWorld),e.setFromMatrixPosition(this.light.target.matrixWorld),this.cone.lookAt(e.sub(t)),this.cone.material.color.copy(this.light.color)}}(),hr.prototype=Object.create(Se.prototype),hr.prototype.constructor=hr,hr.prototype.getBoneList=function(t){var e=[];t&&t.isBone&&e.push(t);for(var n=0;n<t.children.length;n++)e.push.apply(e,this.getBoneList(t.children[n]));return e},hr.prototype.update=function(){var t=new l,e=new h,n=new h;return function(){var i=this.geometry,r=i.getAttribute("position");n.getInverse(this.root.matrixWorld);for(var o=0,a=0;o<this.bones.length;o++){var s=this.bones[o];s.parent&&s.parent.isBone&&(e.multiplyMatrices(n,s.matrixWorld),t.setFromMatrixPosition(e),r.setXYZ(a,t.x,t.y,t.z),e.multiplyMatrices(n,s.parent.matrixWorld),t.setFromMatrixPosition(e),r.setXYZ(a+1,t.x,t.y,t.z),a+=2)}i.getAttribute("position").needsUpdate=!0}}(),cr.prototype=Object.create(Ct.prototype),cr.prototype.constructor=cr,cr.prototype.dispose=function(){this.geometry.dispose(),this.material.dispose()},cr.prototype.update=function(){this.material.color.copy(this.light.color)},ur.prototype=Object.create(lt.prototype),ur.prototype.constructor=ur,ur.prototype.dispose=function(){this.children[0].geometry.dispose(),this.children[0].material.dispose()},ur.prototype.update=function(){var t=this.children[0];t.material.color.copy(this.light.color);var e=.5*this.light.width,n=.5*this.light.height,i=t.geometry.attributes.position,r=i.array;r[0]=e,r[1]=-n,r[2]=0,r[3]=e,r[4]=n,r[5]=0,r[6]=-e,r[7]=n,r[8]=0,r[9]=-e,r[10]=-n,r[11]=0,r[12]=e,r[13]=-n,r[14]=0,i.needsUpdate=!0},pr.prototype=Object.create(lt.prototype),pr.prototype.constructor=pr,pr.prototype.dispose=function(){this.children[0].geometry.dispose(),this.children[0].material.dispose()},pr.prototype.update=function(){var t=new l,e=new W,n=new W;return function(){var i=this.children[0],r=i.geometry.getAttribute("color");e.copy(this.light.color),n.copy(this.light.groundColor);for(var o=0,a=r.count;o<a;o++){var s=o<a/2?e:n;r.setXYZ(o,s.r,s.g,s.b)}i.lookAt(t.setFromMatrixPosition(this.light.matrixWorld).negate()),r.needsUpdate=!0}}(),dr.prototype=Object.create(Se.prototype),dr.prototype.constructor=dr,fr.prototype=Object.create(Se.prototype),fr.prototype.constructor=fr,mr.prototype=Object.create(Se.prototype),mr.prototype.constructor=mr,mr.prototype.update=function(){var t=new l,e=new l,n=new et;return function(){this.object.updateMatrixWorld(!0),n.getNormalMatrix(this.object.matrixWorld);for(var i=this.object.matrixWorld,r=this.geometry.attributes.position,o=this.object.geometry,a=o.vertices,s=o.faces,l=0,h=0,c=s.length;h<c;h++){var u=s[h],p=u.normal;t.copy(a[u.a]).add(a[u.b]).add(a[u.c]).divideScalar(3).applyMatrix4(i),e.copy(p).applyMatrix3(n).normalize().multiplyScalar(this.size).add(t),r.setXYZ(l,t.x,t.y,t.z),l+=1,r.setXYZ(l,e.x,e.y,e.z),l+=1}r.needsUpdate=!0}}(),gr.prototype=Object.create(lt.prototype),gr.prototype.constructor=gr,gr.prototype.dispose=function(){var t=this.children[0],e=this.children[1];t.geometry.dispose(),t.material.dispose(),e.geometry.dispose(),e.material.dispose()},gr.prototype.update=function(){var t=new l,e=new l,n=new l;return function(){t.setFromMatrixPosition(this.light.matrixWorld),e.setFromMatrixPosition(this.light.target.matrixWorld),n.subVectors(e,t);var i=this.children[0],r=this.children[1];i.lookAt(n),i.material.color.copy(this.light.color),r.lookAt(n),r.scale.z
23=n.length()}}(),vr.prototype=Object.create(Se.prototype),vr.prototype.constructor=vr,vr.prototype.update=function(){function t(t,o,a,s){i.set(o,a,s).unproject(r);var l=n[t];if(void 0!==l)for(var h=e.getAttribute("position"),c=0,u=l.length;c<u;c++)h.setXYZ(l[c],i.x,i.y,i.z)}var e,n,i=new l,r=new Ot;return function(){e=this.geometry,n=this.pointMap;var i=1,o=1;r.projectionMatrix.copy(this.camera.projectionMatrix),t("c",0,0,-1),t("t",0,0,1),t("n1",-i,-o,-1),t("n2",i,-o,-1),t("n3",-i,o,-1),t("n4",i,o,-1),t("f1",-i,-o,1),t("f2",i,-o,1),t("f3",-i,o,1),t("f4",i,o,1),t("u1",.7*i,1.1*o,-1),t("u2",.7*-i,1.1*o,-1),t("u3",0,2*o,-1),t("cf1",-i,0,1),t("cf2",i,0,1),t("cf3",0,-o,1),t("cf4",0,o,1),t("cn1",-i,0,-1),t("cn2",i,0,-1),t("cn3",0,-o,-1),t("cn4",0,o,-1),e.getAttribute("position").needsUpdate=!0}}(),yr.prototype=Object.create(Se.prototype),yr.prototype.constructor=yr,yr.prototype.update=function(){var t=new $;return function(e){if(void 0!==e&&console.warn("THREE.BoxHelper: .update() has no longer arguments."),void 0!==this.object&&t.setFromObject(this.object),!t.isEmpty()){var n=t.min,i=t.max,r=this.geometry.attributes.position,o=r.array;o[0]=i.x,o[1]=i.y,o[2]=i.z,o[3]=n.x,o[4]=i.y,o[5]=i.z,o[6]=n.x,o[7]=n.y,o[8]=i.z,o[9]=i.x,o[10]=n.y,o[11]=i.z,o[12]=i.x,o[13]=i.y,o[14]=n.z,o[15]=n.x,o[16]=i.y,o[17]=n.z,o[18]=n.x,o[19]=n.y,o[20]=n.z,o[21]=i.x,o[22]=n.y,o[23]=n.z,r.needsUpdate=!0,this.geometry.computeBoundingSphere()}}}(),yr.prototype.setFromObject=function(t){return this.object=t,this.update(),this};var ec,nc;_r.prototype=Object.create(lt.prototype),_r.prototype.constructor=_r,_r.prototype.setDirection=function(){var t,e=new l;return function(n){n.y>.99999?this.quaternion.set(0,0,0,1):n.y<-.99999?this.quaternion.set(1,0,0,0):(e.set(n.z,0,-n.x).normalize(),t=Math.acos(n.y),this.quaternion.setFromAxisAngle(e,t))}}(),_r.prototype.setLength=function(t,e,n){void 0===e&&(e=.2*t),void 0===n&&(n=.2*e),this.line.scale.set(1,Math.max(0,t-e),1),this.line.updateMatrix(),this.cone.scale.set(n,e,n),this.cone.position.y=t,this.cone.updateMatrix()},_r.prototype.setColor=function(t){this.line.material.color.copy(t),this.cone.material.color.copy(t)},br.prototype=Object.create(Se.prototype),br.prototype.constructor=br;var ic=new l,rc=new xr,oc=new xr,ac=new xr;Ar.prototype=Object.create(xi.prototype),Ar.prototype.constructor=Ar,Ar.prototype.getPoint=function(t){var e=this.points,n=e.length;n<2&&console.log("duh, you need at least 2 points");var i=(n-(this.closed?0:1))*t,r=Math.floor(i),o=i-r;this.closed?r+=r>0?0:(Math.floor(Math.abs(r)/e.length)+1)*e.length:0===o&&r===n-1&&(r=n-2,o=1);var a,s,h,c;if(this.closed||r>0?a=e[(r-1)%n]:(ic.subVectors(e[0],e[1]).add(e[0]),a=ic),s=e[r%n],h=e[(r+1)%n],this.closed||r+2<n?c=e[(r+2)%n]:(ic.subVectors(e[n-1],e[n-2]).add(e[n-1]),c=ic),void 0===this.type||"centripetal"===this.type||"chordal"===this.type){var u="chordal"===this.type?.5:.25,p=Math.pow(a.distanceToSquared(s),u),d=Math.pow(s.distanceToSquared(h),u),f=Math.pow(h.distanceToSquared(c),u);d<1e-4&&(d=1),p<1e-4&&(p=d),f<1e-4&&(f=d),rc.initNonuniformCatmullRom(a.x,s.x,h.x,c.x,p,d,f),oc.initNonuniformCatmullRom(a.y,s.y,h.y,c.y,p,d,f),ac.initNonuniformCatmullRom(a.z,s.z,h.z,c.z,p,d,f)}else if("catmullrom"===this.type){var m=void 0!==this.tension?this.tension:.5;rc.initCatmullRom(a.x,s.x,h.x,c.x,m),oc.initCatmullRom(a.y,s.y,h.y,c.y,m),ac.initCatmullRom(a.z,s.z,h.z,c.z,m)}return new l(rc.calc(o),oc.calc(o),ac.calc(o))},wr.prototype=Object.create(xi.prototype),wr.prototype.constructor=wr,wr.prototype.getPoint=function(t){var e=this.v0,n=this.v1,i=this.v2,r=this.v3;return new l(bi(t,e.x,n.x,i.x,r.x),bi(t,e.y,n.y,i.y,r.y),bi(t,e.z,n.z,i.z,r.z))},Er.prototype=Object.create(xi.prototype),Er.prototype.constructor=Er,Er.prototype.getPoint=function(t){var e=this.v0,n=this.v1,i=this.v2;return new l(mi(t,e.x,n.x,i.x),mi(t,e.y,n.y,i.y),mi(t,e.z,n.z,i.z))},Tr.prototype=Object.create(xi.prototype),Tr.prototype.constructor=Tr,Tr.prototype.getPoint=function(t){if(1===t)return this.v2.clone();var e=new l;return e.subVectors(this.v2,this.v1),e.multiplyScalar(t),e.add(this.v1),e},Sr.prototype=Object.create(Ei.prototype),Sr.prototype.constructor=Sr;var sc={createMultiMaterialObject:function(t,e){for(var n=new Le,i=0,r=e.length;i<r;i++)n.add(new Ct(t,e[i]));return n}
23,detach:function(t,e,n){t.applyMatrix(e.matrixWorld),e.remove(t),n.add(t)},attach:function(t,e,n){var i=new h;i.getInverse(n.matrixWorld),t.applyMatrix(i),e.remove(t),n.add(t)}},lc=0,hc=1;xi.create=function(t,e){return console.log("THREE.Curve.create() has been deprecated"),t.prototype=Object.create(xi.prototype),t.prototype.constructor=t,t.prototype.getPoint=e,t},Yr.prototype=Object.create(Ar.prototype),Kr.prototype=Object.create(Ar.prototype),Zr.prototype=Object.create(Ar.prototype),Object.assign(Zr.prototype,{initFromArray:function(t){console.error("THREE.Spline: .initFromArray() has been removed.")},getControlPointsArray:function(t){console.error("THREE.Spline: .getControlPointsArray() has been removed.")},reparametrizeByArcLength:function(t){console.error("THREE.Spline: .reparametrizeByArcLength() has been removed.")}}),dr.prototype.setColors=function(){console.error("THREE.GridHelper: setColors() has been deprecated, pass them in the constructor instead.")},Object.assign(Y.prototype,{center:function(t){return console.warn("THREE.Box2: .center() has been renamed to .getCenter()."),this.getCenter(t)},empty:function(){return console.warn("THREE.Box2: .empty() has been renamed to .isEmpty()."),this.isEmpty()},isIntersectionBox:function(t){return console.warn("THREE.Box2: .isIntersectionBox() has been renamed to .intersectsBox()."),this.intersectsBox(t)},size:function(t){return console.warn("THREE.Box2: .size() has been renamed to .getSize()."),this.getSize(t)}}),Object.assign($.prototype,{center:function(t){return console.warn("THREE.Box3: .center() has been renamed to .getCenter()."),this.getCenter(t)},empty:function(){return console.warn("THREE.Box3: .empty() has been renamed to .isEmpty()."),this.isEmpty()},isIntersectionBox:function(t){return console.warn("THREE.Box3: .isIntersectionBox() has been renamed to .intersectsBox()."),this.intersectsBox(t)},isIntersectionSphere:function(t){return console.warn("THREE.Box3: .isIntersectionSphere() has been renamed to .intersectsSphere()."),this.intersectsSphere(t)},size:function(t){return console.warn("THREE.Box3: .size() has been renamed to .getSize()."),this.getSize(t)}}),ht.prototype.center=function(t){return console.warn("THREE.Line3: .center() has been renamed to .getCenter()."),this.getCenter(t)},xs.random16=function(){return console.warn("THREE.Math.random16() has been deprecated. Use Math.random() instead."),Math.random()},Object.assign(et.prototype,{flattenToArrayOffset:function(t,e){return console.warn("THREE.Matrix3: .flattenToArrayOffset() has been deprecated. Use .toArray() instead."),this.toArray(t,e)},multiplyVector3:function(t){return console.warn("THREE.Matrix3: .multiplyVector3(
23) has been removed. Use vector.applyMatrix3( matrix ) instead."),t.applyMatrix3(this)},multiplyVector3Array:function(t){return console.warn("THREE.Matrix3: .multiplyVector3Array() has been renamed. Use matrix.applyToVector3Array( array ) instead."),this.applyToVector3Array(t)},applyToBuffer:function(t,e,n){return console.warn("THREE.Matrix3: .applyToBuffer() has been removed. Use matrix.applyToBufferAttribute( attribute ) instead."),this.applyToBufferAttribute(t)},applyToVector3Array:function(t,e,n){console.error("THREE.Matrix3: .applyToVector3Array() has been removed.")}}),Object.assign(h.prototype,{extractPosition:function(t){return console.warn("THREE.Matrix4: .extractPosition() has been renamed to .copyPosition()."),this.copyPosition(t)},flattenToArrayOffset:function(t,e){return console.warn("THREE.Matrix4: .flattenToArrayOffset() has been deprecated. Use .toArray() instead."),this.toArray(t,e)},getPosition:function(){var t;return function(){return void 0===t&&(t=new l),console.warn("THREE.Matrix4: .getPosition() has been removed. Use Vector3.setFromMatrixPosition( matrix ) instead."),t.setFromMatrixColumn(this,3)}}(),setRotationFromQuaternion:function(t){return console.warn("THREE.Matrix4: .setRotationFromQuaternion() has been renamed to .makeRotationFromQuaternion()."),this.makeRotationFromQuaternion(t)},multiplyToArray:function(){console.warn("THREE.Matrix4: .multiplyToArray() has been removed.")},multiplyVector3:function(t){return console.warn("THREE.Matrix4: .multiplyVector3(
23) has been removed. Use vector.applyMatrix4( matrix ) instead."),t.applyMatrix4(this)},multiplyVector4:function(t){return console.warn("THREE.Matrix4: .multiplyVector4() has been removed. Use vector.applyMatrix4( matrix ) instead."),t.applyMatrix4(this)},multiplyVector3Array:function(t){return console.warn("THREE.Matrix4: .multiplyVector3Array() has been renamed. Use matrix.applyToVector3Array( array ) instead."),this.applyToVector3Array(t)},rotateAxis:function(t){console.warn("THREE.Matrix4: .rotateAxis() has been removed. Use Vector3.transformDirection( matrix ) instead."),t.transformDirection(this)},crossVector:function(t){return console.warn("THREE.Matrix4: .crossVector() has been removed. Use vector.applyMatrix4( matrix ) instead."),t.applyMatrix4(this)},translate:function(){console.error("THREE.Matrix4: .translate() has been removed.")},rotateX:function(){console.error("THREE.Matrix4: .rotateX() has been removed.")},rotateY:function(){console.error("THREE.Matrix4: .rotateY() has been removed.")},rotateZ:function(){console.error("THREE.Matrix4: .rotateZ() has been removed.")},rotateByAxis:function(){console.error("THREE.Matrix4: .rotateByAxis() has been removed.")},applyToBuffer:function(t,e,n){return console.warn("THREE.Matrix4: .applyToBuffer() has been removed. Use matrix.applyToBufferAttribute( attribute ) instead."),this.applyToBufferAttribute(t)},applyToVector3Array:function(t,e,n){console.error("THREE.Matrix4: .applyToVector3Array() has been removed.")},makeFrustum:function(t,e,n,i,r,o){return console.warn("THREE.Matrix4: .makeFrustum() has been removed. Use .makePerspective( left, right, top, bottom, near, far ) instead."),this.makePerspective(t,e,i,n,r,o)}}),nt.prototype.isIntersectionLine=function(t){return console.warn("THREE.Plane: .isIntersectionLine() has been renamed to .intersectsLine()."),this.intersectsLine(t)},s.prototype.multiplyVector3=function(t){return console.warn("THREE.Quaternion: .multiplyVector3(
23) has been removed. Use is now vector.applyQuaternion( quaternion ) instead."),t.applyQuaternion(this)},Object.assign(ot.prototype,{isIntersectionBox:function(t){return console.warn("THREE.Ray: .isIntersectionBox() has been renamed to .intersectsBox()."),this.intersectsBox(t)},isIntersectionPlane:function(t){return console.warn("THREE.Ray: .isIntersectionPlane() has been renamed to .intersectsPlane()."),this.intersectsPlane(t)},isIntersectionSphere:function(t){return console.warn("THREE.Ray: .isIntersectionSphere() has been renamed to .intersectsSphere()."),this.intersectsSphere(t)}}),Object.assign(Pi.prototype,{extrude:function(t){return console.warn("THREE.Shape: .extrude() has been removed. Use ExtrudeGeometry() instead."),new tn(this,t)},makeGeometry:function(t){return console.warn("THREE.Shape: .makeGeometry() has been removed. Use ShapeGeometry() instead."),new un(this,t)}}),Object.assign(n.prototype,{fromAttribute:function(t,e,n){return console.error("THREE.Vector2: .fromAttribute() has been renamed to .fromBufferAttribute()."),this.fromBufferAttribute(t,e,n)}}),Object.assign(l.prototype,{setEulerFromRotationMatrix:function(){console.error("THREE.Vector3: .setEulerFromRotationMatrix() has been removed. Use Euler.setFromRotationMatrix() instead.")},setEulerFromQuaternion:function(){console.error("THREE.Vector3: .setEulerFromQuaternion() has been removed. Use Euler.setFromQuaternion() instead.")},getPositionFromMatrix:function(t){return console.warn("THREE.Vector3: .getPositionFromMatrix() has been renamed to .setFromMatrixPosition()."),this.setFromMatrixPosition(t)},getScaleFromMatrix:function(t){return console.warn("THREE.Vector3: .getScaleFromMatrix() has been renamed to .setFromMatrixScale()."),this.setFromMatrixScale(t)},getColumnFromMatrix:function(t,e){return console.warn("THREE.Vector3: .getColumnFromMatrix() has been renamed to .setFromMatrixColumn()."),this.setFromMatrixColumn(e,t)},applyProjection:function(t){return console.warn("THREE.Vector3: .applyProjection() has been removed. Use .applyMatrix4( m ) instead."),this.applyMatrix4(t)},fromAttribute:function(t,e,n){return console.error("THREE.Vector3: .fromAttribute() has been renamed to .fromBufferAttribute()."),this.fromBufferAttribute(t,e,n)}}),Object.assign(r.prototype,{fromAttribute:function(t,e,n){return console.error("THREE.Vector4: .fromAttribute() has been renamed to .fromBufferAttribute()."),this.fromBufferAttribute(t,e,n)}}),St.prototype.computeTangents=function(){console.warn("THREE.Geometry: .computeTangents() has been removed.")},Object.assign(lt.prototype,{getChildByName:function(t){return console.warn("THREE.Object3D: .getChildByName() has been renamed to .getObjectByName()."),this.getObjectByName(t)},renderDepth:function(){console.warn("THREE.Object3D: .renderDepth has been removed. Use .renderOrder, instead.")},translate:function(t,e){return console.warn("THREE.Object3D: .translate() has been removed. Use .translateOnAxis( axis, distance ) instead."),this.translateOnAxis(e,t)}}),Object.defineProperties(lt.prototype,{eulerOrder:{get:function(){return console.warn("THREE.Object3D: .eulerOrder is now .rotation.order."),this.rotation.order},set:function(t){console.warn("THREE.Object3D: .eulerOrder is now .rotation.order."),this.rotation.order=t}},useQuaternion:{get:function(){console.warn("THREE.Object3D: .useQuaternion has been removed. The library now uses quaternions by default.")},set:function(){console.warn("THREE.Object3D: .useQuaternion has been removed. The library now uses quaternions by default.")}}}),Object.defineProperties(be.prototype,{objects:{get:function(){return console.warn("THREE.LOD: .objects has been renamed to .levels."),this.levels}}}),Object.defineProperty(xe.prototype,"useVertexTexture",{get:function(){console.warn("THREE.Skeleton: useVertexTexture has been removed.")}
vendor: 3,936 bytes, line 23
23,set:function(){console.warn("THREE.Skeleton: useVertexTexture has been removed.")}}),Object.defineProperty(xi.prototype,"__arcLengthDivisions",{get:function(){return console.warn("THREE.Curve: .__arcLengthDivisions is now .arcLengthDivisions."),this.arcLengthDivisions},set:function(t){console.warn("THREE.Curve: .__arcLengthDivisions is now .arcLengthDivisions."),this.arcLengthDivisions=t}}),It.prototype.setLens=function(t,e){console.warn("THREE.PerspectiveCamera.setLens is deprecated. Use .setFocalLength and .filmGauge for a photographic setup."),void 0!==e&&(this.filmGauge=e),this.setFocalLength(t)},Object.defineProperties(Bn.prototype,{onlyShadow:{set:function(){console.warn("THREE.Light: .onlyShadow has been removed.")}},shadowCameraFov:{set:function(t){console.warn("THREE.Light: .shadowCameraFov is now .shadow.camera.fov."),this.shadow.camera.fov=t}},shadowCameraLeft:{set:function(t){console.warn("THREE.Light: .shadowCameraLeft is now .shadow.camera.left."),this.shadow.camera.left=t}},shadowCameraRight:{set:function(t){console.warn("THREE.Light: .shadowCameraRight is now .shadow.camera.right."),this.shadow.camera.right=t}},shadowCameraTop:{set:function(t){console.warn("THREE.Light: .shadowCameraTop is now .shadow.camera.top."),this.shadow.camera.top=t}},shadowCameraBottom:{set:function(t){console.warn("THREE.Light: .shadowCameraBottom is now .shadow.camera.bottom."),this.shadow.camera.bottom=t}},shadowCameraNear:{set:function(t){console.warn("THREE.Light: .shadowCameraNear is now .shadow.camera.near."),this.shadow.camera.near=t}},shadowCameraFar:{set:function(t){console.warn("THREE.Light: .shadowCameraFar is now .shadow.camera.far."),this.shadow.camera.far=t}},shadowCameraVisible:{set:function(){console.warn("THREE.Light: .shadowCameraVisible has been removed. Use new THREE.CameraHelper( light.shadow.camera ) instead.")}},shadowBias:{set:function(t){console.warn("THREE.Light: .shadowBias is now .shadow.bias."),this.shadow.bias=t}},shadowDarkness:{set:function(){console.warn("THREE.Light: .shadowDarkness has been removed.")}},shadowMapWidth:{set:function(t){console.warn("THREE.Light: .shadowMapWidth is now .shadow.mapSize.width."),this.shadow.mapSize.width=t}},shadowMapHeight:{set:function(t){console.warn("THREE.Light: .shadowMapHeight is now .shadow.mapSize.height."),this.shadow.mapSize.height=t}}}),Object.defineProperties(dt.prototype,{length:{get:function(){return console.warn("THREE.BufferAttribute: .length has been deprecated. Use .count instead."),this.array.length}}}),Object.assign(Mt.prototype,{addIndex:function(t){console.warn("THREE.BufferGeometry: .addIndex() has been renamed to .setIndex()."),this.setIndex(t)},addDrawCall:function(t,e,n){void 0!==n&&console.warn("THREE.BufferGeometry: .addDrawCall() no longer supports indexOffset."),console.warn("THREE.BufferGeometry: .addDrawCall() is now .addGroup()."),this.addGroup(t,e)},clearDrawCalls:function(){console.warn("THREE.BufferGeometry: .clearDrawCalls() is now .clearGroups()."),this.clearGroups()},computeTangents:function(){console.warn("THREE.BufferGeometry: .computeTangents() has been removed.")},computeOffsets:function(){console.warn("THREE.BufferGeometry: .computeOffsets() has been removed.")}}),Object.defineProperties(Mt.prototype,{drawcalls:{get:function(){return console.error("THREE.BufferGeometry: .drawcalls has been renamed to .groups."),this.groups}},offsets:{get:function(){return console.warn("THREE.BufferGeometry: .offsets has been renamed to .groups."),this.groups}}}),Object.defineProperties(Yi.prototype,{dynamic:{set:function(){console.warn("THREE.Uniform: .dynamic has been removed. Use object.onBeforeRender() instead.")}},onUpdate:{value:function(){return console.warn("THREE.Uniform: .onUpdate() has been removed. Use object.onBeforeRender() instead."),this}}}),Object.defineProperties(q.prototype,{wrapAround:{get:function(){console.warn("THREE.Material: .wrapAround has been removed.")}
23,set:function(){console.warn("THREE.Material: .wrapAround has been removed.")}},wrapRGB:{get:function(){return console.warn("THREE.Material: .wrapRGB has been removed."),new W}}}),Object.defineProperties(En.prototype,{metal:{get:function(){return console.warn("THREE.MeshPhongMaterial: .metal has been removed. Use THREE.MeshStandardMaterial instead."),!1},set:function(){console.warn("THREE.MeshPhongMaterial: .metal has been removed. Use THREE.MeshStandardMaterial instead")}}}),Object.defineProperties(Q.prototype,{derivatives:{get:function(){return console.warn("THREE.ShaderMaterial: .derivatives has been moved to .extensions.derivatives."),this.extensions.derivatives},set:function(t){console.warn("THREE. ShaderMaterial: .derivatives has been moved to .extensions.derivatives."),this.extensions.derivatives=t}}}),Object.assign(de.prototype,{getCurrentRenderTarget:function(){return console.warn("THREE.WebGLRenderer: .getCurrentRenderTarget() is now .getRenderTarget()."),this.getRenderTarget()},supportsFloatTextures:function(){return console.warn("THREE.WebGLRenderer: .supportsFloatTextures() is now .extensions.get( 'OES_texture_float' )."),this.extensions.get("OES_texture_float")},supportsHalfFloatTextures:function(){return console.warn("THREE.WebGLRenderer: .supportsHalfFloatTextures() is now .extensions.get( 'OES_texture_half_float' )."),this.extensions.get("OES_texture_half_float")},supportsStandardDerivatives:function(){return console.warn("THREE.WebGLRenderer: .supportsStandardDerivatives() is now .extensions.get( 'OES_standard_derivatives' )."),this.extensions.get("OES_standard_derivatives")},supportsCompressedTextureS3TC:function(){return console.warn("THREE.WebGLRenderer: .supportsCompressedTextureS3TC() is now .extensions.get( 'WEBGL_compressed_texture_s3tc' )."),this.extensions.get("WEBGL_compressed_texture_s3tc")},supportsCompressedTexturePVRTC:function(){return console.warn("THREE.WebGLRenderer: .supportsCompressedTexturePVRTC() is now .extensions.get( 'WEBGL_compressed_texture_pvrtc' )."),this.extensions.get("WEBGL_compressed_texture_pvrtc")},supportsBlendMinMax:function(){return console.warn("THREE.WebGLRenderer: .supportsBlendMinMax() is now .extensions.get( 'EXT_blend_minmax' )."),this.extensions.get("EXT_blend_minmax")},supportsVertexTextures:function(){return console.warn("THREE.WebGLRenderer: .supportsVertexTextures() is now .capabilities.vertexTextures."),this.capabilities.vertexTextures},supportsInstancedArrays:function(){return console.warn("THREE.WebGLRenderer: .supportsInstancedArrays() is now .extensions.get( 'ANGLE_instanced_arrays' )."),this.extensions.get("ANGLE_instanced_arrays")},enableScissorTest:function(t){console.warn("THREE.WebGLRenderer: .enableScissorTest() is now .setScissorTest()."),this.setScissorTest(t)},initMaterial:function(){console.warn("THREE.WebGLRenderer: .initMaterial() has been removed.")},addPrePlugin:function(){console.warn("THREE.WebGLRenderer: .addPrePlugin() has been removed.")},addPostPlugin:function(){console.warn("THREE.WebGLRenderer: .addPostPlugin() has been removed.")},updateShadowMap:function(){console.warn("THREE.WebGLRenderer: .updateShadowMap() has been removed.")}}),Object.defineProperties(de.prototype,{shadowMapEnabled:{get:function(){return this.shadowMap.enabled},set:function(t){console.warn("THREE.WebGLRenderer: .shadowMapEnabled is now .shadowMap.enabled."),this.shadowMap.enabled=t}},shadowMapType:{get:function(){return this.shadowMap.type},set:function(t){console.warn("THREE.WebGLRenderer: .shadowMapType is now .shadowMap.type."),this.shadowMap.type=t}},shadowMapCullFace:{get:function(){return this.shadowMap.cullFace},set:function(t){console.warn("THREE.WebGLRenderer: .shadowMapCullFace is now .shadowMap.cullFace."),this.shadowMap.cullFace=t}}}),Object.defineProperties(rt.prototype,{cullFace:{get:function(){return this.renderReverseSided?so:ao},set:function(t){var e=t!==ao;console.warn("WebGLRenderer: .shadowMap.cullFace is deprecated. Set .shadowMap.renderReverseSided to "+e+"."),this.renderReverseSided=e}}}),Object.defineProperties(o.prototype,{wrapS:{get:function(){return console.warn("THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS."),this.texture.wrapS},set:function(t){console.warn("THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS."),this.texture.wrapS=t}},wrapT:{get:function(){return console.warn("THREE.WebGLRenderTarget: .wrapT is now .texture.wrapT."),this.texture.wrapT},set:function(t){console.warn("THREE.WebGLRenderTarget: .wrapT is now .texture.wrapT."),this.texture.wrapT=t}},magFilter:{get:function(){return console.warn("THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter."),this.texture.magFilter},set:function(t){console.warn("THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter."),this.texture.magFilter=t}},minFilter:{get:function(){return console.warn("THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter."),this.texture.minFilter},set:function(t){console.warn("THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter."),this.texture.minFilter=t}},anisotropy:{get:function(){return console.warn("THREE.WebGLRenderTarget: .anisotropy
23is now .texture.anisotropy."),this.texture.anisotropy},set:function(t){console.warn("THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy."),this.texture.anisotropy=t}},offset:{get:function(){return console.warn("THREE.WebGLRenderTarget: .offset is now .texture.offset."),this.texture.offset},set:function(t){console.warn("THREE.WebGLRenderTarget: .offset is now .texture.offset."),this.texture.offset=t}},repeat:{get:function(){return console.warn("THREE.WebGLRenderTarget: .repeat is now .texture.repeat."),this.texture.repeat},set:function(t){console.warn("THREE.WebGLRenderTarget: .repeat is now .texture.repeat."),this.texture.repeat=t}},format:{get:function(){return console.warn("THREE.WebGLRenderTarget: .format is now .texture.format."),this.texture.format},set:function(t){console.warn("THREE.WebGLRenderTarget: .format is now .texture.format."),this.texture.format=t}},type:{get:function(){return console.warn("THREE.WebGLRenderTarget: .type is now .texture.type."),this.texture.type},set:function(t){console.warn("THREE.WebGLRenderTarget: .type is now .texture.type."),this.texture.type=t}},generateMipmaps:{get:function(){return console.warn("THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps."),this.texture.generateMipmaps},set:function(t){console.warn("THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps."),this.texture.generateMipmaps=t}}}),Vi.prototype.load=function(t){console.warn("THREE.Audio: .load has been deprecated. Use THREE.AudioLoader instead.");var e=this,n=new Oi;return n.load(t,function(t){e.setBuffer(t)}),this},ki.prototype.getData=function(){return console.warn("THREE.AudioAnalyser: .getData() is now .getFrequencyData()."),this.getFrequencyData()};var cc={merge:function(t,e,n){console.warn("THREE.GeometryUtils: .merge() has been moved to Geometry. Use geometry.merge( geometry2, matrix, materialIndexOffset ) instead.");var i;e.isMesh&&(e.matrixAutoUpdate&&e.updateMatrix(),i=e.matrix,e=e.geometry),t.merge(e,i,n)},center:function(t){return console.warn("THREE.GeometryUtils: .center() has been moved to Geometry. Use geometry.center() instead."),t.center()}},uc={crossOrigin:void 0,loadTexture:function(t,e,n,i){console.warn("THREE.ImageUtils.loadTexture has been deprecated. Use THREE.TextureLoader() instead.");var r=new Dn;r.setCrossOrigin(this.crossOrigin);var o=r.load(t,n,void 0,i);return e&&(o.mapping=e),o},loadTextureCube:function(t,e,n,i){console.warn("THREE.ImageUtils.loadTextureCube has been deprecated. Use THREE.CubeTextureLoader() instead.");var r=new In;r.setCrossOrigin(this.crossOrigin);var o=r.load(t,n,void 0,i);return e&&(o.mapping=e),o},loadCompressedTexture:function(){console.error("THREE.ImageUtils.loadCompressedTexture has been removed. Use THREE.DDSLoader instead.")},loadCompressedTextureCube:function(){console.error("THREE.ImageUtils.loadCompressedTextureCube has been removed. Use THREE.DDSLoader instead.")}};t.WebGLRenderTargetCube=a,t.WebGLRenderTarget=o,t.WebGLRenderer=de,t.ShaderLib=Bh,t.UniformsLib=Rs,t.UniformsUtils=Ns,t.ShaderChunk=Dh,t.FogExp2=fe,t.Fog=me,t.Scene=ge,t.LensFlare=ve,t.Sprite=_e,t.LOD=be,t.SkinnedMesh=we,t.Skeleton=xe,t.Bone=Ae,t.Mesh=Ct,t.LineSegments=Se,t.LineLoop=Me,t.Line=Te,t.Points=Pe,t.Group=Le,t.VideoTexture=Re,t.DataTexture=c,t.CompressedTexture=Ne,t.CubeTexture=u,t.CanvasTexture=Oe,t.DepthTexture=Ie,t.Texture=i,t.CompressedTextureLoader=Rn,t.DataTextureLoader=Nn,t.CubeTextureLoader=In,t.TextureLoader=Dn,t.ObjectLoader=ci,t.MaterialLoader=ai,t.BufferGeometryLoader=si,t.DefaultLoadingManager=Xh,t.LoadingManager=Pn,t.JSONLoader=hi,t.ImageLoader=On,t.FontLoader=Ni,t.FileLoader=Ln,t.Loader=li,t.Cache=jh,t.AudioLoader=Oi,t.SpotLightShadow=Gn,t.SpotLight=kn,t.PointLight=Hn,t.RectAreaLight=Xn,t.HemisphereLight=Un,t.DirectionalLightShadow=Fn,t.DirectionalLight=zn,t.AmbientLight=jn,t.LightShadow=Vn,t.Light=Bn,t.StereoCamera=Ii,t.PerspectiveCamera=It,t.OrthographicCamera=Dt,t.CubeCamera=Di,t.ArrayCamera=Bi,t.Camera=Ot,t.AudioListener=Ui,t.PositionalAudio=Gi,t.AudioContext=tc,t.AudioAnalyser=ki,t.Audio=Vi,t.VectorKeyframeTrack=Qn,t.StringKeyframeTrack=ei,t.QuaternionKeyframeTrack=$n,t.NumberKeyframeTrack=ti,t.ColorKeyframeTrack=ii, 24t.BooleanKeyframeTrack=ni,t.PropertyMixer=Hi,t.PropertyBinding=zi,t.KeyframeTrack=ri,t.AnimationUtils=Wh,t.AnimationObjectGroup=ji,t.AnimationMixer=Wi,t.AnimationClip=oi,t.Uniform=Yi,t.InstancedBufferGeometry=Ki,t.BufferGeometry=Mt,t.GeometryIdCount=Tt,t.Geometry=St,t.InterleavedBufferAttribute=Zi,t.InstancedInterleavedBuffer=Qi,t.InterleavedBuffer=qi,t.InstancedBufferAttribute=Ji,t.Face3=ut,t.Object3D=lt,t.Raycaster=$i,t.Layers=st,t.EventDispatcher=e,t.Clock=nr,t.QuaternionLinearInterpolant=Jn,t.LinearInterpolant=Kn,t.DiscreteInterpolant=Zn,t.CubicInterpolant=Yn,t.Interpolant=Wn,t.Triangle=ct,t.Math=xs,t.Spherical=ir,t.Cylindrical=rr,t.Plane=nt,t.Frustum=it,t.Sphere=tt,t.Ray=ot,t.Matrix4=h,t.Matrix3=et,t.Box3=$,t.Box2=Y,t.Line3=ht,t.Euler=at,t.Vector4=r,t.Vector3=l,t.Vector2=n,t.Quaternion=s,t.Color=W,t.MorphBlendMesh=or,t.ImmediateRenderObject=ar,t.VertexNormalsHelper=sr,t.SpotLightHelper=lr,t.SkeletonHelper=hr,t.PointLightHelper=cr,t.RectAreaLightHelper=ur,t.HemisphereLightHelper=pr,t.GridHelper=dr,t.PolarGridHelper=fr,t.FaceN
24ormalsHelper=mr,t.DirectionalLightHelper=gr,t.CameraHelper=vr,t.BoxHelper=yr,t.ArrowHelper=_r,t.AxisHelper=br,t.CatmullRomCurve3=Ar,t.CubicBezierCurve3=wr,t.QuadraticBezierCurve3=Er,t.LineCurve3=Tr,t.ArcCurve=Sr,t.EllipseCurve=Ei,t.SplineCurve=Ti,t.CubicBezierCurve=Si,t.QuadraticBezierCurve=Mi,t.LineCurve=Ai,t.Shape=Pi,t.Path=Ci,t.ShapePath=Li,t.Font=Ri,t.CurvePath=wi,t.Curve=xi,t.ShapeUtils=Hh,t.SceneUtils=sc,t.WireframeGeometry=De,t.ParametricGeometry=Be,t.ParametricBufferGeometry=Ue,t.TetrahedronGeometry=ke,t.TetrahedronBufferGeometry=He,t.OctahedronGeometry=Fe,t.OctahedronBufferGeometry=ze,t.IcosahedronGeometry=je,t.IcosahedronBufferGeometry=Xe,t.DodecahedronGeometry=We,t.DodecahedronBufferGeometry=Ye,t.PolyhedronGeometry=Ve,t.PolyhedronBufferGeometry=Ge,t.TubeGeometry=Ke,t.TubeBufferGeometry=Ze,t.TorusKnotGeometry=qe,t.TorusKnotBufferGeometry=Qe,t.TorusGeometry=Je,t.TorusBufferGeometry=$e,t.TextGeometry=nn,t.TextBufferGeometry=rn,t.SphereGeometry=on,t.SphereBufferGeometry=an,t.RingGeometry=sn,t.RingBufferGeometry=ln,t.PlaneGeometry=Rt,t.PlaneBufferGeometry=Nt,t.LatheGeometry=hn,t.LatheBufferGeometry=cn,t.ShapeGeometry=un,t.ShapeBufferGeometry=pn,t.ExtrudeGeometry=tn,t.ExtrudeBufferGeometry=en,t.EdgesGeometry=dn,t.ConeGeometry=gn,t.ConeBufferGeometry=vn,t.CylinderGeometry=fn,t.CylinderBufferGeometry=mn,t.CircleGeometry=yn,t.CircleBufferGeometry=_n,t.BoxGeometry=Pt,t.BoxBufferGeometry=Lt,t.ShadowMaterial=bn,t.SpriteMaterial=ye,t.RawShaderMaterial=xn,t.ShaderMaterial=Q,t.PointsMaterial=Ce,t.MeshPhysicalMaterial=wn,t.MeshStandardMaterial=An,t.MeshPhongMaterial=En,t.MeshToonMaterial=Tn,t.MeshNormalMaterial=Sn,t.MeshLambertMaterial=Mn,t.MeshDepthMaterial=J,t.MeshBasicMaterial=pt,t.LineDashedMaterial=Cn,t.LineBasicMaterial=Ee,t.Material=q,t.Float64BufferAttribute=At,t.Float32BufferAttribute=xt,t.Uint32BufferAttribute=bt,t.Int32BufferAttribute=_t,t.Uint16BufferAttribute=yt,t.Int16BufferAttribute=vt,t.Uint8ClampedBufferAttribute=gt,t.Uint8BufferAttribute=mt,t.Int8BufferAttribute=ft,t.BufferAttribute=dt,t.REVISION=io,t.MOUSE=ro,t.CullFaceNone=oo,t.CullFaceBack=ao,t.CullFaceFront=so,t.CullFaceFrontBack=lo,t.FrontFaceDirectionCW=ho,t.FrontFaceDirectionCCW=co,t.BasicShadowMap=uo,t.PCFShadowMap=po,t.PCFSoftShadowMap=fo,t.FrontSide=mo,t.BackSide=go,t.DoubleSide=vo,t.FlatShading=yo,t.SmoothShading=_o,t.NoColors=bo,t.FaceColors=xo,t.VertexColors=Ao,t.NoBlending=wo,t.NormalBlending=Eo,t.AdditiveBlending=To,t.SubtractiveBlending=So,t.MultiplyBlending=Mo,t.CustomBlending=Co,t.AddEquation=Po,t.SubtractEquation=Lo,t.ReverseSubtractEquation=Ro,t.MinEquation=No,t.MaxEquation=Oo,t.ZeroFactor=Io,t.OneFactor=Do,t.SrcColorFactor=Bo,t.OneMinusSrcColorFactor=Uo,t.SrcAlphaFactor=Vo,t.OneMinusSrcAlphaFactor=Go,t.DstAlphaFactor=ko,t.OneMinusDstAlphaFactor=Ho,t.DstColorFactor=Fo,t.OneMinusDstColorFactor=zo,t.SrcAlphaSaturateFactor=jo,t.NeverDepth=Xo,t.AlwaysDepth=Wo,t.LessDepth=Yo,t.LessEqualDepth=Ko,t.EqualDepth=Zo,t.GreaterEqualDepth=qo,t.GreaterDepth=Qo,t.NotEqualDepth=Jo,t.MultiplyOperation=$o,t.MixOperation=ta,t.AddOperation=ea,t.NoToneMapping=na,t.LinearToneMapping=ia,t.ReinhardToneMapping=ra,t.Uncharted2ToneMapping=oa,t.CineonToneMapping=aa,t.UVMapping=sa,t.CubeReflectionMapping=la,t.CubeRefractionMapping=ha,t.EquirectangularReflectionMapping=ca,t.EquirectangularRefractionMapping=ua,t.SphericalReflectionMapping=pa,t.CubeUVReflectionMapping=da,t.CubeUVRefractionMapping=fa,t.RepeatWrapping=ma,t.ClampToEdgeWrapping=ga,t.MirroredRepeatWrapping=va,t.NearestFilter=ya,t.NearestMipMapNearestFilter=_a,t.NearestMipMapLinearFilter=ba,t.LinearFilter=xa,t.LinearMipMapNearestFilter=Aa,t.LinearMipMapLinearFilter=wa,t.UnsignedByteType=Ea,t.ByteType=Ta,t.ShortType=Sa,t.UnsignedShortType=Ma,t.IntType=Ca,t.UnsignedIntType=Pa,t.FloatType=La,t.HalfFloatType=Ra,t.UnsignedShort4444Type=Na,t.UnsignedShort5551Type=Oa,t.UnsignedShort565Type=Ia,t.UnsignedInt248Type=Da,t.AlphaFormat=Ba,t.RGBFormat=Ua,t.RGBAFormat=Va,t.LuminanceFormat=Ga,t.LuminanceAlphaFormat=ka,t.RGBEFormat=Ha,t.DepthFormat=Fa,t.DepthStencilFormat=za,t.RGB_S3TC_DXT1_Format=ja,t.RGBA_S3TC_DXT1_Format=Xa,t.RGBA_S3TC_DXT3_Format=Wa,t.RGBA_S3TC_DXT5_Format=Ya,t.RGB_PVRTC_4BPPV1_Format=Ka,t.RGB_PVRTC_2BPPV1_Format=Za,t.RGBA_PVRTC_4BPPV1_Format=qa,t.RGBA_PVRTC_2BPPV1_Format=Qa,t.RGB_ETC1_Format=Ja,t.LoopOnce=$a,t.LoopRepeat=ts,t.LoopPingPong=es,t.InterpolateDiscrete=ns,t.InterpolateLinear=is,t.InterpolateSmooth=rs,t.ZeroCurvatureEnding=os,t.ZeroSlopeEnding=as,t.WrapAroundEnding=ss,t.TrianglesDrawMode=ls,t.TriangleStripDrawMode=hs,t.TriangleFanDrawMode=cs,t.LinearEncoding=us,t.sRGBEncoding=ps,t.GammaEncoding=ds,t.RGBEEncoding=fs,t.LogLuvEncoding=ms,t.RGBM7Encoding=gs,t.RGBM16Encoding=vs,t.RGBDEncoding=ys,t.BasicDepthPacking=_s,t.RGBADepthPacking=bs,t.CubeGeometry=Pt,t.Face4=Mr,t.LineStrip=lc,t.LinePieces=hc,t.MeshFaceMaterial=Cr,t.MultiMaterial=Pr,t.PointCloud=Lr,t.Particle=Rr,t.ParticleSystem=Nr,t.PointCloudMaterial=Or,t.ParticleBasicMaterial=Ir,t.ParticleSystemMaterial=Dr,t.Vertex=Br,t.DynamicBufferAttribute=Ur,t.Int8Attribute=Vr,t.Uint8Attribute=Gr,t.Uint8ClampedAttribute=kr,t.Int16Attribute=Hr,t.Uint16Attribute=Fr,t.Int32Attribute=zr,t.Uint32Attribute=jr,t.Float32Attribute=Xr,t.Float64Attribute=Wr,t.ClosedSplineCurve3=Yr,t.SplineCurve3=Kr,t.Spline=Zr,t.BoundingBoxHelper=qr,t.EdgesHelper=Qr,t.WireframeHelper=Jr,t.XHRLoader=$r,t.BinaryTextureLoader=to,t.GeometryUtils=cc,t.ImageUtils=uc,t.Projector=eo,t.CanvasRenderer=no,Object.defineProperty(t,"__esMo
24dule",{value:!0})})},{}],66:[function(t,e,n){(function(t){!function(){var i="object"==typeof self&&self.self===self&&self||"object"==typeof t&&t.global===t&&t||this||{},r=i._,o=Array.prototype,a=Object.prototype,s="undefined"!=typeof Symbol?Symbol.prototype:null,l=o.push,h=o.slice,c=a.toString,u=a.hasOwnProperty,p=Array.isArray,d=Object.keys,f=Object.create,m=function(){},g=function(t){return t instanceof g?t:this instanceof g?void(this._wrapped=t):new g(t)};"undefined"==typeof n||n.nodeType?i._=g:("undefined"!=typeof e&&!e.nodeType&&e.exports&&(n=e.exports=g),n._=g),g.VERSION="1.9.0";var v,y=function(t,e,n){if(void 0===e)return t;switch(null==n?3:n){case 1:return function(n){return t.call(e,n)};case 3:return function(n,i,r){return t.call(e,n,i,r)};case 4:return function(n,i,r,o){return t.call(e,n,i,r,o)}}return function(){return t.apply(e,arguments)}},_=function(t,e,n){return g.iteratee!==v?g.iteratee(t,e):null==t?g.identity:g.isFunction(t)?y(t,e,n):g.isObject(t)&&!g.isArray(t)?g.matcher(t):g.property(t)};g.iteratee=v=function(t,e){return _(t,e,1/0)};var b=function(t,e){return e=null==e?t.length-1:+e,function(){for(var n=Math.max(arguments.length-e,0),i=Array(n),r=0;r<n;r++)i[r]=arguments[r+e];switch(e){case 0:return t.call(this,i);case 1:return t.call(this,arguments[0],i);case 2:return t.call(this,arguments[0],arguments[1],i)}var o=Array(e+1);for(r=0;r<e;r++)o[r]=arguments[r];return o[e]=i,t.apply(this,o)}},x=function(t){if(!g.isObject(t))return{};if(f)return f(t);m.prototype=t;var e=new m;return m.prototype=null,e},A=function(t){return function(e){return null==e?void 0:e[t]}},w=function(t,e){for(var n=e.length,i=0;i<n;i++){if(null==t)return;t=t[e[i]]}return n?t:void 0},E=Math.pow(2,53)-1,T=A("length"),S=function(t){var e=T(t);return"number"==typeof e&&e>=0&&e<=E};g.each=g.forEach=function(t,e,n){e=y(e,n);var i,r;if(S(t))for(i=0,r=t.length;i<r;i++)e(t[i],i,t);else{var o=g.keys(t);for(i=0,r=o.length;i<r;i++)e(t[o[i]],o[i],t)}return t},g.map=g.collect=function(t,e,n){e=_(e,n);for(var i=!S(t)&&g.keys(t),r=(i||t).length,o=Array(r),a=0;a<r;a++){var s=i?i[a]:a;o[a]=e(t[s],s,t)}return o};var M=function(t){var e=function(e,n,i,r){var o=!S(e)&&g.keys(e),a=(o||e).length,s=t>0?0:a-1;for(r||(i=e[o?o[s]:s],s+=t);s>=0&&s<a;s+=t){var l=o?o[s]:s;i=n(i,e[l],l,e)}return i};return function(t,n,i,r){var o=arguments.length>=3;return e(t,y(n,r,4),i,o)}};g.reduce=g.foldl=g.inject=M(1),g.reduceRight=g.foldr=M(-1),g.find=g.detect=function(t,e,n){var i=S(t)?g.findIndex:g.findKey,r=i(t,e,n);if(void 0!==r&&r!==-1)return t[r]},g.filter=g.select=function(t,e,n){var i=[];return e=_(e,n),g.each(t,function(t,n,r){e(t,n,r)&&i.push(t)}),i},g.reject=function(t,e,n){return g.filter(t,g.negate(_(e)),n)},g.every=g.all=function(t,e,n){e=_(e,n);for(var i=!S(t)&&g.keys(t),r=(i||t).length,o=0;o<r;o++){var a=i?i[o]:o;if(!e(t[a],a,t))return!1}return!0},g.some=g.any=function(t,e,n){e=_(e,n);for(var i=!S(t)&&g.keys(t),r=(i||t).length,o=0;o<r;o++){var a=i?i[o]:o;if(e(t[a],a,t))return!0}return!1},g.contains=g.includes=g.include=function(t,e,n,i){return S(t)||(t=g.values(t)),("number"!=typeof n||i)&&(n=0),g.indexOf(t,e,n)>=0},g.invoke=b(function(t,e,n){var i,r;return g.isFunction(e)?r=e:g.isArray(e)&&(i=e.slice(0,-1),e=e[e.length-1]),g.map(t,function(t){var o=r;if(!o){if(i&&i.length&&(t=w(t,i)),null==t)return;o=t[e]}return null==o?o:o.apply(t,n)})}),g.pluck=function(t,e){return g.map(t,g.property(e))},g.where=function(t,e){return g.filter(t,g.matcher(e))},g.findWhere=function(t,e){return g.find(t,g.matcher(e))},g.max=function(t,e,n){var i,r,o=-(1/0),a=-(1/0);if(null==e||"number"==typeof e&&"object"!=typeof t[0]&&null!=t){t=S(t)?t:g.values(t);for(var s=0,l=t.length;s<l;s++)i=t[s],null!=i&&i>o&&(o=i)}else e=_(e,n),g.each(t,function(t,n,i){r=e(t,n,i),(r>a||r===-(1/0)&&o===-(1/0))&&(o=t,a=r)});return o},g.min=function(t,e,n){var i,r,o=1/0,a=1/0;if(null==e||"number"==typeof e&&"object"!=typeof t[0]&&null!=t){t=S(t)?t:g.values(t);for(var s=0,l=t.length;s<l;s++)i=t[s],null!=i&&i<o&&(o=i)}else e=_(e,n),g.each(t,function(t,n,i){r=e(t,n,i),(r<a||r===1/0&&o===1/0)&&(o=t,a=r)});return o},g.shuffle=function(t){return g.sample(t,1/0)},g.sample=function(t,e,n){if(null==e||n)return S(t)||(t=g.values(t)),t[g.random(t.length-1)];var i=S(t)?g.clone(t):g.values(t),r=T(i);e=Math.max(Math.min(e,r),0);for(var o=r-1,a=0;a<e;a++){var s=g.random(a,o),l=i[a];i[a]=i[s],i[s]=l}return i.slice(0,e)},g.sortBy=function(t,e,n){var i=0;return e=_(e,n),g.pluck(g.map(t,function(t,n,r){return{value:t,index:i++,criteria:e(t,n,r)}}).sort(function(t,e){var n=t.criteria,i=e.criteria;if(n!==i){if(n>i||void 0===n)return 1;if(n<i||void 0===i)return-1}return t.index-e.index}),"value")};var C=function(t,e){return function(n,i,r){var o=e?[[],[]]:{};return i=_(i,r),g.each(n,function(e,r){var a=i(e,r,n);t(o,e,a)}),o}};g.groupBy=C(function(t,e,n){g.has(t,n)?t[n].push(e):t[n]=[e]}),g.indexBy=C(function(t,e,n){t[n]=e}),g.countBy=C(function(t,e,n){g.has(t,n)?t[n]++:t[n]=1});var P=/[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g;g.toArray=function(t){return t?g.isArray(t)?h.call(t):g.isString(t)?t.match(P):S(t)?g.map(t,g.identity):g.values(t):[]},g.size=function(t){return null==t?0:S(t)?t.length:g.keys(t).length},g.partition=C(function(t,e,n){t[n?0:1].push(e)},!0),g.first=g.head=g.take=function(t,e,n){if(!(null==t||t.length<1))return null==e||n?t[0]:g.initial(t,t.length-e)},g.initial=function(t,e,n){return h.call(t,0,Math.max(0,t.length-(null==e||n?1:e)))},g.last=function(t,e,n){if(!(null==t||t.length<1))return null==e||n?t[t.length-1]:g.rest(t,Math.max(0,t.length-e))},g.rest=g.tail=g.drop=function(t,e,n){return h.call(t,null==e||n?1:e)},g.compact=function(t){return g.filter(t,Boolean)};var L=function(t,e,n,i){i=i||[];for(var r=i.length,o=0,a=T(t);o<a;o++){var s=t[o];if(S(s)&&(g.isArray(s)||g.isArguments(s)))if(e)for(var l=0,h=s.length;l<h;)i[r++]=s[l++];else L(s,e,n,i),r=i.length;else n||(i[r++]=s)}return i};g.flatten=function(t,e){return L(t,e,!1)},g.without=b(function(t,e){return g.difference(t,e)}),g.uniq=g.unique=function(t,e,n,i){g.isBoolean(e)||(i=n,n=e,e=!1),null!=n&&(n=_(n,i));for(var r=[],o=[],a=0,s=T(t);a<s;a++){var l=t[a],h=n?n(l,a,t):l;e&&!n?(a&&o===h||r.push(l),o=h):n?g.contains(o,h)||(o.push(h),r.push(l)):g.contains(r,l)||r.push(l)}return r},g.union=b(function(t){return g.uniq(L(t,!0,!0))}),g.intersection=function(t){for(var e=[],n=arguments.length,i=0,r=T(t);i<r;i++){var o=t[i];if(!g.contains(e,o)){var a;for(a=1;a<n&&g.contains(arguments[a],o);a++);a===n&&e.push(o)}}return e},g.difference=b(function(t,e){return e=L(e,!0,!0),g.filter(t,function(t){return!g.contains(e,t)})}),g.unzip=function(t){for(var e=t&&g.max(t,T).length||0,n=Array(e),i=0;i<e;i++)n[i]=g.pluck(t,i);return n},g.zip=b(g.unzip),g.object=function(t,e){for(var n={},i=0,r=T(t);i<r;i++)e?n[t[i]]=e[i]:n[t[i][0]]=t[i][1];return n};var R=function(t){return function(e,n,i){n=_(n,i);for(var r=T(e),o=t>0?0:r-1;o>=0&&o<r;o+=t)if(n(e[o],o,e))return o;return-1}};g.findIndex=R(1),g.findLastIndex=R(-1),g.sortedIndex=function(t,e,n,i){n=_(n,i,1);for(var r=n(e),o=0,a=T(t);o<a;){var s=Math.floor((o+a)/2);n(t[s])<r?o=s+1:a=s}return o};var N=function(t,e,n){return function(i,r,o){var a=0,s=T(i);if("number"==typeof o)t>0?a=o>=0?o:Math.max(o+s,a):s=o>=0?Math.min(o+1,s):o+s+1;else if(n&&o&&s)return o=n(i,r),i[o]===r?o:-1;if(r!==r)return o=e(h.call(i,a,s),g.isNaN),o>=0?o+a:-1;for(o=t>0?a:s-1;o>=0&&o<s;o+=t)if(i[o]===r)return o;return-1}};g.indexOf=N(1,g.findIndex,g.sortedIndex),g.lastIndexOf=N(-1,g.findLastIndex),g.range=function(t,e,n){null==e&&(e=t||0,t=0),n||(n=e<t?-1:1);for(var i=Math.max(Math.ceil((e-t)/n),0),r=Array(i),o=0;o<i;o++,t+=n)r[o]=t;return r},g.chunk=function(t,e){if(null==e||e<1)return[];for(var n=[],i=0,r=t.length;i<r;)n.push(h.call(t,i,i+=e));return n};var O=function(t,e,n,i,r){if(!(i instanceof e))return t.apply(n,r);var o=x(t.prototype),a=t.apply(o,r);return g.isObject(a)?a:o};g.bind=b(function(t,e,n){if(!g.isFunction(t))throw new TypeError("Bind must be called on a function");var i=b(function(r){return O(t,i,e,this,n.concat(r))});return i}),g.partial=b(function(t,e){var n=g.partial.placeholder,i=function(){for(var r=0,o=e.length,a=Array(o),s=0;s<o;s++)a[s]=e[s]===n?arguments[r++]:e[s];for(;r<arguments.length;)a.push(arguments[r++]);return O(t,i,this,this,a)};return i}),g.partial.placeholder=g,g.bindAll=b(function(t,e){e=L(e,!1,!1);var n=e.length;if(n<1)throw new Error("bindAll must be passed function names");for(;n--;){var i=e[n];t[i]=g.bind(t[i],t)}}),g.memoize=function(t,e){var n=function(i){var r=n.cache,o=""+(e?e.apply(this,arguments):i);return g.has(r,o)||(r[o]=t.apply(this,arguments)),r[o]};return n.cache={},n},g.delay=b(function(t,e,n){return setTimeout(function(){return t.apply(null,n)},e)}),g.defer=g.partial(g.delay,g,1),g.throttle=function(t,e,n){var i,r,o,a,s=0;n||(n={});var l=function(){s=n.leading===!1?0:g.now(),i=null,a=t.apply(r,o),i||(r=o=null)},h=function(){var h=g.now();s||n.leading!==!1||(s=h);var c=e-(h-s);return r=this,o=arguments,c<=0||c>
24e?(i&&(clearTimeout(i),i=null),s=h,a=t.apply(r,o),i||(r=o=null)):i||n.trailing===!1||(i=setTimeout(l,c)),a};return h.cancel=function(){clearTimeout(i),s=0,i=r=o=null},h},g.debounce=function(t,e,n){var i,r,o=function(e,n){i=null,n&&(r=t.apply(e,n))},a=b(function(a){if(i&&clearTimeout(i),n){var s=!i;i=setTimeout(o,e),s&&(r=t.apply(this,a))}else i=g.delay(o,e,this,a);return r});return a.cancel=function(){clearTimeout(i),i=null},a},g.wrap=function(t,e){return g.partial(e,t)},g.negate=function(t){return function(){return!t.apply(this,arguments)}},g.compose=function(){var t=arguments,e=t.length-1;return function(){for(var n=e,i=t[e].apply(this,arguments);n--;)i=t[n].call(this,i);return i}},g.after=function(t,e){return function(){if(--t<1)return e.apply(this,arguments)}},g.before=function(t,e){var n;return function(){return--t>0&&(n=e.apply(this,arguments)),t<=1&&(e=null),n}},g.once=g.partial(g.before,2),g.restArguments=b;var I=!{toString:null}.propertyIsEnumerable("toString"),D=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],B=function(t,e){var n=D.length,i=t.constructor,r=g.isFunction(i)&&i.prototype||a,o="constructor";for(g.has(t,o)&&!g.contains(e,o)&&e.push(o);n--;)o=D[n],o in t&&t[o]!==r[o]&&!g.contains(e,o)&&e.push(o)};g.keys=function(t){if(!g.isObject(t))return[];if(d)return d(t);var e=[];for(var n in t)g.has(t,n)&&e.push(n);return I&&B(t,e),e},g.allKeys=function(t){if(!g.isObject(t))return[];var e=[];for(var n in t)e.push(n);return I&&B(t,e),e},g.values=function(t){for(var e=g.keys(t),n=e.length,i=Array(n),r=0;r<n;r++)i[r]=t[e[r]];return i},g.mapObject=function(t,e,n){e=_(e,n);for(var i=g.keys(t),r=i.length,o={},a=0;a<r;a++){var s=i[a];o[s]=e(t[s],s,t)}return o},g.pairs=function(t){for(var e=g.keys(t),n=e.length,i=Array(n),r=0;r<n;r++)i[r]=[e[r],t[e[r]]];return i},g.invert=function(t){for(var e={},n=g.keys(t),i=0,r=n.length;i<r;i++)e[t[n[i]]]=n[i];return e},g.functions=g.methods=function(t){var e=[];for(var n in t)g.isFunction(t[n])&&e.push(n);return e.sort()};var U=function(t,e){return function(n){var i=arguments.length;if(e&&(n=Object(n)),i<2||null==n)return n;for(var r=1;r<i;r++)for(var o=arguments[r],a=t(o),s=a.length,l=0;l<s;l++){var h=a[l];e&&void 0!==n[h]||(n[h]=o[h])}return n}};g.extend=U(g.allKeys),g.extendOwn=g.assign=U(g.keys),g.findKey=function(t,e,n){e=_(e,n);for(var i,r=g.keys(t),o=0,a=r.length;o<a;o++)if(i=r[o],e(t[i],i,t))return i};var V=function(t,e,n){return e in n};g.pick=b(function(t,e){var n={},i=e[0];if(null==t)return n;g.isFunction(i)?(e.length>1&&(i=y(i,e[1])),e=g.allKeys(t)):(i=V,e=L(e,!1,!1),t=Object(t));for(var r=0,o=e.length;r<o;r++){var a=e[r],s=t[a];i(s,a,t)&&(n[a]=s)}return n}),g.omit=b(function(t,e){var n,i=e[0];return g.isFunction(i)?(i=g.negate(i),e.length>1&&(n=e[1])):(e=g.map(L(e,!1,!1),String),i=function(t,n){return!g.contains(e,n)}),g.pick(t,i,n)}),g.defaults=U(g.allKeys,!0),g.create=function(t,e){var n=x(t);return e&&g.extendOwn(n,e),n},g.clone=function(t){return g.isObject(t)?g.isArray(t)?t.slice():g.extend({},t):t},g.tap=function(t,e){return e(t),t},g.isMatch=function(t,e){var n=g.keys(e),i=n.length;if(null==t)return!i;for(var r=Object(t),o=0;o<i;o++){var a=n[o];if(e[a]!==r[a]||!(a in r))return!1}return!0};var G,k;G=function(t,e,n,i){if(t===e)return 0!==t||1/t===1/e;if(null==t||null==e)return!1;if(t!==t)return e!==e;var r=typeof t;return("function"===r||"object"===r||"object"==typeof e)&&k(t,e,n,i)},k=function(t,e,n,i){t instanceof g&&(t=t._wrapped),e instanceof g&&(e=e._wrapped);var r=c.call(t);if(r!==c.call(e))return!1;switch(r){case"[object RegExp]":case"[object String]":return""+t==""+e;case"[object Number]":return+t!==+t?+e!==+e:0===+t?1/+t===1/e:+t===+e;case"[object Date]":case"[object Boolean]":return+t===+e;case"[object Symbol]":return s.valueOf.call(t)===s.valueOf.call(e)}var o="[object Array]"===r;if(!o){if("object"!=typeof t||"object"!=typeof e)return!1;var a=t.constructor,l=e.constructor;if(a!==l&&!(g.isFunction(a)&&a instanceof a&&g.isFunction(l)&&l instanceof l)&&"constructor"in t&&"constructor"in e)return!1}n=n||[],i=i||[];for(var h=n.length;h--;)if(n[h]===t)return i[h]===e;if(n.push(t),i.push(e),o){if(h=t.length,h!==e.length)return!1;for(;h--;)if(!G(t[h],e[h],n,i))return!1}else{var u,p=g.keys(t);if(h=p.length,g.keys(e).length!==h)return!1;for(;h--;)if(u=p[h],!g.has(e,u)||!G(t[u],e[u],n,i))return!1}return n.pop(),i.pop(),!0},g.isEqual=function(t,e){return G(t,e)},g.isEmpty=function(t){return null==t||(S(t)&&(g.isArray(t)||g.isString(t)||g.isArguments(t))?0===t.length:0===g.keys(t).length)},g.isElement=function(t){return!(!t||1!==t.nodeType)},g.isArray=p||function(t){return"[object Array]"===c.call(t)},g.isObject=function(t){var e=typeof t;return"function"===e||"object"===e&&!!t},g.each(["Arguments","Function","String","Number","Date","RegExp","Error","Symbol","Map","WeakMap","Set","WeakSet"],function(t){g["is"+t]=function(e){return c.call(e)==="[object "+t+"]"}}
24),g.isArguments(arguments)||(g.isArguments=function(t){return g.has(t,"callee")});var H=i.document&&i.document.childNodes;"function"!=typeof/./&&"object"!=typeof Int8Array&&"function"!=typeof H&&(g.isFunction=function(t){return"function"==typeof t||!1}),g.isFinite=function(t){return!g.isSymbol(t)&&isFinite(t)&&!isNaN(parseFloat(t))},g.isNaN=function(t){return g.isNumber(t)&&isNaN(t)},g.isBoolean=function(t){return t===!0||t===!1||"[object Boolean]"===c.call(t)},g.isNull=function(t){return null===t},g.isUndefined=function(t){return void 0===t},g.has=function(t,e){if(!g.isArray(e))return null!=t&&u.call(t,e);for(var n=e.length,i=0;i<n;i++){var r=e[i];if(null==t||!u.call(t,r))return!1;t=t[r]}return!!n},g.noConflict=function(){return i._=r,this},g.identity=function(t){return t},g.constant=function(t){return function(){return t}},g.noop=function(){},g.property=function(t){return g.isArray(t)?function(e){return w(e,t)}:A(t)},g.propertyOf=function(t){return null==t?function(){}:function(e){return g.isArray(e)?w(t,e):t[e]}},g.matcher=g.matches=function(t){return t=g.extendOwn({},t),function(e){return g.isMatch(e,t)}},g.times=function(t,e,n){var i=Array(Math.max(0,t));e=y(e,n,1);for(var r=0;r<t;r++)i[r]=e(r);return i},g.random=function(t,e){return null==e&&(e=t,t=0),t+Math.floor(Math.random()*(e-t+1))},g.now=Date.now||function(){return(new Date).getTime()};var F={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},z=g.invert(F),j=function(t){var e=function(e){return t[e]},n="(?:"+g.keys(t).join("|")+")",i=RegExp(n),r=RegExp(n,"g");return function(t){return t=null==t?"":""+t,i.test(t)?t.replace(r,e):t}};g.escape=j(F),g.unescape=j(z),g.result=function(t,e,n){g.isArray(e)||(e=[e]);var i=e.length;if(!i)return g.isFunction(n)?n.call(t):n;for(var r=0;r<i;r++){var o=null==t?void 0:t[e[r]];void 0===o&&(o=n,r=i),t=g.isFunction(o)?o.call(t):o}return t};var X=0;g.uniqueId=function(t){var e=++X+"";return t?t+e:e},g.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var W=/(.)^/,Y={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},K=/\\|'|\r|\n|\u2028|\u2029/g,Z=function(t){return"\\"+Y[t]};g.template=function(t,e,n){!e&&n&&(e=n),e=g.defaults({},e,g.templateSettings);var i=RegExp([(e.escape||W).source,(e.interpolate||W).source,(e.evaluate||W).source].join("|")+"|$","g"),r=0,o="__p+='";t.replace(i,function(e,n,i,a,s){return o+=t.slice(r,s).replace(K,Z),r=s+e.length,n?o+="'+\n((__t=("+n+"))==null?'':_.escape(__t))+\n'":i?o+="'+\n((__t=("+i+"))==null?'':__t)+\n'":a&&(o+="';\n"+a+"\n__p+='"),e}),o+="';\n",e.variable||(o="with(obj||{}){\n"+o+"}\n"),o="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+o+"return __p;\n";var a;try{a=new Function(e.variable||"obj","_",o)}catch(s){throw s.source=o,s}var l=function(t){return a.call(this,t,g)},h=e.variable||"obj";return l.source="function("+h+"){\n"+o+"}",l},g.chain=function(t){var e=g(t);return e._chain=!0,e};var q=function(t,e){return t._chain?g(e).chain():e};g.mixin=function(t){return g.each(g.functions(t),function(e){var n=g[e]=t[e];g.prototype[e]=function(){var t=[this._wrapped];return l.apply(t,arguments),q(this,n.apply(g,t))}}),g},g.mixin(g),g.each(["pop","push","reverse","shift","sort","splice","unshift"],function(t){var e=o[t];g.prototype[t]=function(){var n=this._wrapped;return e.apply(n,arguments),"shift"!==t&&"splice"!==t||0!==n.length||delete n[0],q(this,n)}}),g.each(["concat","join","slice"],function(t){var e=o[t];g.prototype[t]=function(){return q(this,e.apply(this._wrapped,arguments))}}),g.prototype.value=function(){return this._wrapped},g.prototype.valueOf=g.prototype.toJSON=g.prototype.value,g.prototype.toString=function(){return String(this._wrapped)},"function"==typeof define&&define.amd&&define("underscore",[],function(){return g})}()}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],67:[function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{"default":t}}function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var o=t("./view/AppView"),a=i(o),s=function l(){r(this,l),this.view=new a["default"]};n["default"]=s},{"./view/AppView":71}],68:[function(t,e,n){(function(e){"use strict";function n(t){return t&&t.__esModule?t:{"default":t}}function i(t){"loading"!==document.readyState?t():document.addEventListener("DOMContentLoaded",t)}var r=t("./App"),o=n(r);e.TweenMax=t("gsap"),e.THREE=t("three"),e._=t("underscore"),e.$=t("cash-dom"),e.OrbitControls=t("three-orbit-control
24s")(THREE),t("./../vendors/TrackballControls.js"),t("./../vendors/OBJLoader.js"),t("./../shaders/FilmShader.js"),t("./../shaders/HorizontalTiltShiftShader.js"),t("./../shaders/VerticalTiltShiftShader.js"),i(function(){if($("#block-carteinteractive-2").length>0||$("#block-carteinteractive").length>0){var t=new o["default"];window.app=t}})}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./../shaders/FilmShader.js":74,"./../shaders/HorizontalTiltShiftShader.js":75,"./../shaders/VerticalTiltShiftShader.js":76,"./../vendors/OBJLoader.js":77,"./../vendors/TrackballControls.js":78,"./App":67,"cash-dom":1,gsap:61,three:65,"three-orbit-controls":64,underscore:66}],69:[function(t,e,n){"use strict";function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var r=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),o={red:15881030,white:14209233,brown:5845806,pink:16095342,pink_str:"#F5986E",brownDark:2300175,blue:6865856,blue_str:"#68c3c0",purewhite:16777215,purewhite_str:"#ffffff",lightgrey:12763842,lightgrey_str:"#c2c2c2",lightblue:13623015},a=500,s=null,l="/sites/default/files/carto/",h={img:{translation:{x:0,y:0,z:0},rotation:{x:-5,y:5,z:0},reverseAnimation:{duration:1200,easing:"easeOutElastic",elasticity:600}},text:{translation:{x:10,y:10,z:[0,10]},reverseAnimation:{duration:1e3,easing:"easeOutExpo",elasticity:600}}},c=function(){function t(){i(this,t)}return r(t,null,[{key:"getArea",value:function(e){for(var n=t.assets_datas[0].areas,i=0;i<n.length;i++)if(n[i].id==e)return n[i]}},{key:"getmousePos",value:function(t){var e=0,n=0;if(!t)var t=window.event;return t.pageX||t.pageY?(e=t.pageX,n=t.pageY):(t.clientX||t.clientY)&&(e=t.clientX+document.body.scrollLeft+document.documentElement.scrollLeft,n=t.clientY+document.body.scrollTop+document.documentElement.scrollTop),{x:e,y:n}}},{key:"setRange",value:function(t){for(var e in t)void 0==t[e]?t[e]=[0,0]:"number"==typeof t[e]&&(t[e]=[-1*t[e],t[e]]);return t}},{key:"colors",get:function(){return o}},{key:"particles_int",get:function(){return a}
24,set:function(t){a=t}},{key:"movement",get:function(){return h}},{key:"assets_datas",get:function(){return s},set:function(t){s=t}},{key:"root_url",get:function(){return l}}]),t}();n["default"]=c},{}],70:[function(t,e,n){"use strict";function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var r=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),o=function(){function t(){i(this,t)}return r(t,null,[{key:"randomIntFromInterval",value:function(t,e){return Math.floor(Math.random()*(e-t+1)+t)}},{key:"randomFloatFromInterval",value:function(t,e){return Math.random()*(e-t+1)+t}},{key:"getRandomSign",value:function(){return Math.random()<.5?-1:1}}]),t}();n["default"]=o},{}],71:[function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{"default":t}}function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var o=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),a=t("sketch-js"),s=i(a),l=t("./webgl/WebGLView"),h=i(l),c=t("./ui/UIView"),u=i(c),p=t("../utils/AppDatas"),d=i(p),f=function(){function t(){r(this,t),this.renderer=new THREE.WebGLRenderer({antialias:!0,alpha:!0}),this.loadDatas(),$(".closeoverlay")[0].addEventListener("pointerup",this.onCloseWindow.bind(this)),$(".overlay")[0].addEventListener("pointerup",this.onCloseWindow.bind(this))}return o(t,[{key:"loadDatas",value:function(){var t=this,e=new XMLHttpRequest;e.open("GET",d["default"].root_url+"datas.json",!0),e.onload=function(){if(e.status>=200&&e.status<400){var n=JSON.parse(e.responseText);d["default"].assets_datas=n,t.initSketch()}},e.onerror=function(){},e.send()}},{key:"initSketch",value:function(){var t=this;this.sketch=s["default"].create({type:s["default"].WEBGL,element:this.renderer.domElement,context:this.renderer.context,autopause:!1,retina:window.devicePixelRatio>=2,fullscreen:!1,width:980,height:445}),this.sketch.setup=function(){t.initWebGL()},this.sketch.update=function(){t.webgl.update()},this.sketch.draw=function(){t.webgl.draw()},this.sketch.resize=function(){t.webgl.resize()},this.sketch.touchstart=function(){t.sketch.touches[0]},this.sketch.touchmove=function(){var e=t.sketch.touches[0];t.webgl.updateMousePos(e)},this.sketch.touchend=function(){var e=t.sketch.touches[0];t.webgl.onTouch(e)}}},{key:"initWebGL",value:function(){document.querySelector(".plan3d").appendChild(this.renderer.domElement),this.webgl=new h["default"](this)}},{key:"initUI",value:function(){this.ui=new u["default"](this)}},{key:"onCloseWindow",value:function(t){console.log("onCloseWindow",t),this.webgl.closeWindow()}}]),t}();n["default"]=f},{"../utils/AppDatas":69,"./ui/UIView":72,"./webgl/WebGLView":73,"sketch-js":62}],72:[function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{"default":t}}function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var o=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),a=t("controlkit"),s=i(a),l=t("stats.js"),h=i(l),c=t("../../utils/AppDatas"),u=i(c),p=function(){function t(e){r(this,t),this.view=e,this.init()}return o(t,[{key:"init",value:function(){var t=this;this.p_ambientintensity={value:.6,range:[0,1]},this.p_directintensity={value:.3,range:[0,1]},this.p_number={value:u["default"].particles_int,range:[100,2e3]},this.controlKit=new s["default"],this.controlKit.addPanel({width:200,enable:!0}).addGroup({label:"Objects",enable:!0}
24).addColor({color:u["default"].colors.purewhite_str},"color",{colorMode:"hex",onChange:function(e){t.onObjectColorChange(e)}}).addSlider(t.p_number,"value","range",{label:"amount",dp:0,onFinish:function(){t.onAmountFinish()}}).addGroup({label:"Lights",enable:!0}).addSubGroup({label:"Ambient",enable:!0}).addColor({color:u["default"].colors.lightgrey_str 25},"color",{label:"color",colorMode:"hex",onChange:function(e){t.onAmbientColorChange(e)}}).addSlider(t.p_ambientintensity,"value","range",{label:"intensity",onChange:function(){t.onAmbientIntensityChange()}}).addSubGroup({label:"Direct",enable:!0}).addSlider(t.p_directintensity,"value","range",{label:"intensity",onChange:function(){t.onDirectIntensityChange()}})}},{key:"changeStyle",value:function(){var t=document.querySelector("#controlKit.panel");t.style.zIndex=100}},{key:"initStats",value:function(){this.stats=new h["default"],document.body.appendChild(this.stats.dom)}},{key:"onObjectColorChange",value:function(t){this.view.webgl.onObjectColorChange(t)}},{key:"onAmbientColorChange",value:function(t){this.view.webgl.onAmbientColorChange(t)}},{key:"onAmbientIntensityChange",value:function(){this.view.webgl.onAmbientIntensityChange(this.p_ambientintensity.value)}},{key:"onDirectIntensityChange",value:function(){this.view.webgl.onDirectIntensityChange(this.p_directintensity.value)}},{key:"onAmountFinish",value:function(){this.view.webgl.onAmountFinish(this.p_number.value)}}]),t}();n["default"]=p},{"../../utils/AppDatas":69,controlkit:2,"stats.js":63}],73:[function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{"default":t}}function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var o=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),a=t("../../utils/AppDatas"),s=i(a),l=t("../../utils/RndUtils"),h=(i(l),t("glslify"),function(){function t(e){r(this,t),this.view=e,this.renderer=this.view.renderer,this.raycaster=new THREE.Raycaster,this.mouse=new THREE.Vector2,this.INTERSECTED=null,this.blocinfo=$(".info")[0],this.blocoverlay=$(".overlay")[0],this.isIntroOver_bl=!1,this.interactive_groups=null,this.objClicked=null,this.zoom={value:1},this.initThree(),this.initObjects(),this.initControls()}return o(t,[{key:"initThree",value:function(){this.scene=new THREE.Scene;var t=13379;this.scene.fog=new THREE.Fog(t,140,300),this.camera=new THREE.PerspectiveCamera(16,window.innerWidth/window.innerHeight,1,1e4),this.camera.position.x=0,this.camera.position.y=0,this.camera.position.z=15,this.camera.zoom=1,this.camera.lookAt(this.scene)}},{key:"initControls",value:function(){this.controls=new OrbitControls(this.camera,this.renderer.domElement),this.controls.enableDamping=!0,this.controls.dampingFactor=.09,this.controls.rotateSpeed=.05,this.controls.screenSpacePanning=!1,this.controls.minPolarAngle=.95,this.controls.maxPolarAngle=1.4,this.controls.enablePan=!1,this.controls.enableZoom=!1,this.controls.zoomSpeed=.2,this.controls.enabled=!1}},{key:"initObjects",value:function(){var t=this,e=new THREE.ObjectLoader;e.load(s["default"].root_url+"scene13.json",function(e){return t.onLoaded(e)},function(e){return t.onLoadProgress(e)},function(e){return t.onLoadError(e)})}},{key:"onLoaded",value:function(t){console.log("loaded",t),this.scene.add(t),this.interactive_groups=this.scene.children[0].children[0].children[0],console.log("objects",this.interactive_groups),TweenMax.to(this.camera.position,2,{x:-90,y:85,delay:.4,ease:Power2.easeInOut,onComplete:this.onIntroComplete.bind(this)}),TweenMax.to(this.camera.position,2,{z:100,ease:Power2.easeInOut})}},{key:"onLoadProgress",value:function(t){console.log("onLoadProgress",t)}},{key:"onLoadError",value:function(t){console.log("onLoadError",t)}},{key:"removeObjects",value:function(){}},{key:"initLights",value:function(){var t=new THREE.HemisphereLight(11184810,0,.8);this.shadowLight=new THREE.DirectionalLight(16777215,.5),this.shadowLight.position.set(-150,-350,-350),this.scene.add(t),this.ambientLight=new THREE.AmbientLight(s["default"].colors.lightblue,.4),this.scene.add(this.ambientLight)}},{key:"onIntroComplete",value:function(){this.controls.enabled=!0,this.isIntroOver_bl=!0}}
25,{key:"onZoomUpdate",value:function(){console.log("zoom",this.zoom.value,this.camera.zoom),this.camera.zoom=this.zoom.value}},{key:"onDocumentMouseWheel",value:function(t){this.camera.position.z+=.05*t.deltaY}},{key:"onObjectColorChange",value:function(t){this.mesh.material.color.set(t)}},{key:"onAmbientColorChange",value:function(t){this.ambientLight.color.set(t)}},{key:"onAmbientIntensityChange",value:function(t){this.ambientLight.intensity=t}},{key:"onDirectIntensityChange",value:function(t){this.shadowLight.intensity=t}},{key:"closeWindow",value:function(){TweenMax.to(this.blocinfo,.5,{x:-20,autoAlpha:0,ease:Power3.easeOut}),this.blocoverlay.style.display="none";var t=!0,e=!1,n=void 0;try{for(var i,r=this.objClicked.parent.children[Symbol.iterator]();!(t=(i=r.next()).done);t=!0){var o=i.value;o.currentHex=16777215,o.material.color.setHex(o.currentHex)}}catch(a){e=!0,n=a}finally{try{!t&&r["return"]&&r["return"]()}finally{if(e)throw n}}}},{key:"updateMousePos",value:function(t){this.mouse.x=t.x/this.view.sketch.width*2-1,this.mouse.y=2*-(t.y/this.view.sketch.height)+1,this.isIntroOver_bl&&this.checkRayCast()}},{key:"onTouch",value:function(t){this.raycaster.setFromCamera(this.mouse,this.camera);var e=this.raycaster.intersectObjects(this.interactive_groups.children,!0);if(e.length>0&&this.INTERSECTED){if(this.INTERSECTED=e[0].object,this.objClicked=this.INTERSECTED,"3_salle_exposition"==this.INTERSECTED.parent.name)return;console.log("click",this.INTERSECTED.parent.name);var n=s["default"].getArea(this.INTERSECTED.parent.name);console.log(this.blocinfo.getElementsByClassName("title"),n.title),this.blocinfo.getElementsByClassName("title")[0].innerHTML=n.title,this.blocinfo.getElementsByClassName("text")[0].innerHTML=n.text,""==n.link?this.blocinfo.getElementsByClassName("link")[0].style.display="none":(this.blocinfo.getElementsByClassName("link")[0].style.display="inline-block",this.blocinfo.getElementsByClassName("link")[0].children[0].setAttribute("href",n.link)),this.blocinfo.style.display="block",this.blocoverlay.style.display="block",$("html,body").css("cursor","default"),TweenMax.set(this.blocinfo,{x:-20,autoAlpha:0}
25),TweenMax.to(this.blocinfo,1,{x:0,autoAlpha:1,ease:Power3.easeOut});var i=!0,r=!1,o=void 0;try{for(var a,l=this.INTERSECTED.parent.children[Symbol.iterator]();!(i=(a=l.next()).done);i=!0){var h=a.value;h.currentHex=h.material.color.getHex(),h.material.color.setHex(8830033)}}catch(c){r=!0,o=c}finally{try{!i&&l["return"]&&l["return"]()}finally{if(r)throw o}}}}},{key:"update",value:function(){this.controls.update(),this.camera.updateMatrixWorld()}},{key:"checkRayCast",value:function(){this.raycaster.setFromCamera(this.mouse,this.camera);var t=this.raycaster.intersectObjects(this.interactive_groups.children,!0);if(t.length>0){if(this.INTERSECTED!=t[0].object){if(this.INTERSECTED){var e=!0,n=!1,i=void 0;try{for(var r,o=this.INTERSECTED.parent.children[Symbol.iterator]();!(e=(r=o.next()).done);e=!0){var a=r.value;a.material.color.setHex(a.currentHex)}}catch(s){n=!0,i=s}finally{try{!e&&o["return"]&&o["return"]()}finally{if(n)throw i}}}this.INTERSECTED=t[0].object,$("html,body").css("cursor","pointer");var l=!0,h=!1,c=void 0;try{for(var u,p=this.INTERSECTED.parent.children[Symbol.iterator]();!(l=(u=p.next()).done);l=!0){var d=u.value;d.currentHex=d.material.color.getHex(),"3_salle_exposition"!=this.INTERSECTED.parent.name&&d.material.color.setHex(8830033)}}catch(s){h=!0,c=s}finally{try{!l&&p["return"]&&p["return"]()}finally{if(h)throw c}}}}else{if(this.INTERSECTED){$("html,body").css("cursor","default");var f=!0,m=!1,g=void 0;try{for(var v,y=this.INTERSECTED.parent.children[Symbol.iterator]();!(f=(v=y.next()).done);f=!0){var _=v.value;_.material.color.setHex(_.currentHex)}}catch(s){m=!0,g=s}finally{try{!f&&y["return"]&&y["return"]()}finally{if(m)throw g}}}this.INTERSECTED=null}}},{key:"draw",value:function(){this.renderer.render(this.scene,this.camera)}},{key:"resize",value:function(){this.renderer&&(this.camera.aspect=this.view.sketch.width/this.view.sketch.height,this.camera.updateProjectionMatrix(),this.renderer.setSize(this.view.sketch.width,this.view.sketch.height))}}]),t}());n["default"]=h},{"../../utils/AppDatas":69,"../../utils/RndUtils":70,glslify:60}],74:[function(t,e,n){"use strict";THREE.FilmShader={uniforms:{tDiffuse:{value:null},time:{value:0},nIntensity:{value:.5},sIntensity:{value:.05},sCount:{value:4096},grayscale:{value:1}},vertexShader:["varying vec2 vUv;","void main() {","vUv = uv;","gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );","}"].join("\n"),fragmentShader:["#include <common>","uniform float time;","uniform bool grayscale;","uniform float nIntensity;","uniform float sIntensity;","uniform float sCount;","uniform sampler2D tDiffuse;","varying vec2 vUv;","void main() {","vec4 cTextureScreen = texture2D( tDiffuse, vUv );","float dx = rand( vUv + time );","vec3 cResult = cTextureScreen.rgb + cTextureScreen.rgb * clamp( 0.1 + dx, 0.0, 1.0 );","vec2 sc = vec2( sin( vUv.y * sCount ), cos( vUv.y * sCount ) );","cResult += cTextureScreen.rgb * vec3( sc.x, sc.y, sc.x ) * sIntensity;","cResult = cTextureScreen.rgb + clamp( nIntensity, 0.0,1.0 ) * ( cResult - cTextureScreen.rgb );","if( grayscale ) {","cResult = vec3( cResult.r * 0.3 + cResult.g * 0.59 + cResult.b * 0.11 );","}","gl_FragColor = vec4( cResult, cTextureScreen.a );","}"].join("\n")}},{}],75:[function(t,e,n){"use strict";THREE.HorizontalTiltShiftShader={uniforms:{tDiffuse:{value:null},h:{value:1/512},r:{value:.35}},vertexShader:["varying vec2 vUv;","void main() {","vUv = uv;","gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );","}"].join("\n"),fragmentShader:["uniform sampler2D tDiffuse;","uniform float h;","uniform float r;","varying vec2 vUv;","void main() {","vec4 sum = vec4( 0.0 );","float hh = h * abs( r - vUv.y );","sum += texture2D( tDiffuse, vec2( vUv.x - 4.0 * hh, vUv.y ) ) * 0.051;","sum += texture2D( tDiffuse, vec2( vUv.x - 3.0 * hh, vUv.y ) ) * 0.0918;","sum += texture2D( tDiffuse, vec2( vUv.x - 2.0 * hh, vUv.y ) ) * 0.12245;","sum += texture2D( tDiffuse, vec2( vUv.x - 1.0 * hh, vUv.y ) ) * 0.1531;","sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y ) ) * 0.1633;","sum += texture2D( tDiffuse, vec2( vUv.x + 1.0 * hh, vUv.y ) ) * 0.1531;","sum += texture2D( tDiffuse, vec2( vUv.x + 2.0 * hh, vUv.y ) ) * 0.12245;","sum += texture2D( tDiffuse, vec2( vUv.x + 3.0 * hh, vUv.y ) ) * 0.0918;","sum += texture2D( tDiffuse, vec2( vUv.x + 4.0 * hh, vUv.y ) ) * 0.051;","gl_FragColor = sum;","}"].join("\n")}},{}],76:[function(t,e,n){"use strict";THREE.VerticalTiltShiftShader={uniforms:{tDiffuse:{value:null},v:{value:1/512},r:{value:.35}},vertexShader:["varying vec2 vUv;","void main() {","vUv = uv;","gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );","}"].join("\n"),fragmentShader:["uniform sampler2D tDiffuse;","uniform float v;","uniform float r;","varying vec2 vUv;","void main() {","vec4 sum = vec4( 0.0 );","float vv = v * abs( r - vUv.y );","sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y - 4.0 * vv ) ) * 0.051;","sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y - 3.0 * vv ) ) * 0.0918;","sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y - 2.0 * vv ) ) * 0.12245;","sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y - 1.0 * vv ) ) * 0.1531;","sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y ) ) * 0.1633;","sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y + 1.0 * vv ) ) * 0.1531;","sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y + 2.0 * vv ) ) * 0.12245;","sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y + 3.0 * vv ) ) * 0.0918;","sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y + 4.0 * vv ) ) * 0.051;","gl_FragColor = sum;","}"].join("\n")}},{}],77:[function(t,e,n){"use strict";THREE.OBJLoader=function(){function t(){var t={objects:[],object:{},vertices:[],normals:[],colors:[],uvs:[],materialLibraries:[],startObject:function(t,e){if(this.object&&this.object.fromDeclaration===!1)return this.object.name=t,void(this.object.fromDeclaration=e!==!1);var n=this.object&&"function"==typeof this.object.currentMaterial?this.object.currentMaterial():void 0;if(this.object&&"function"==typeof this.object._finalize&&this.object._finalize(!0),this.object={name:t||"",fromDeclaration:e!==!1,geometry:{vertices:[],normals:[],colors:[],uvs:[]},materials:[],smooth:!0,startMaterial:function(t,e){var n=this._finalize(!1);n&&(n.inherited||n.groupCount<=0)&&this.materials.splice(n.index,1);var i={index:this.materials.length,name:t||"",mtllib:Array.isArray(e)&&e.length>0?e[e.length-1]:"",smooth:void 0!==n?n.smooth:this.smooth,groupStart:void 0!==n?n.groupEnd:0,groupEnd:-1,groupCount:-1,inherited:!1,clone:function(t){var e={index:"number"==typeof t?t:this.index,name:this.name,mtllib:this.mtllib,smooth:this.smooth,groupStart:0,groupEnd:-1,groupCount:-1,inherited:!1};return e.clone=this.clone.bind(e),e}};return this.materials.push(i),i},currentMaterial:function(){if(this.materials.length>0)return this.materials[this.materials.length-1]},_finalize:function(t){var e=this.currentMaterial();if(e&&e.groupEnd===-1&&(e.groupEnd=this.geometry.vertices.length/3,e.groupCount=e.groupEnd-e.groupStart,e.inherited=!1),t&&this.materials.length>1)for(var n=this.materials.length-1;n>=0;n--)this.materials[n].groupCount<=0&&this.materials.splice(n,1);return t&&0===this.materials.length&&this.materials.push({name:"",smooth:this.smooth}),e}},n&&n.name&&"function"==typeof n.clone){var i=n.clone(0);i.inherited=!0,this.object.materials.push(i)}this.objects.push(this.object)},finalize:function(){this.object&&"function"==typeof this.object._finalize&&this.object._finalize(!0)},parseVertexIndex:function(t,e){var n=parseInt(t,10);return 3*(n>=0?n-1:n+e/3)},parseNormalIndex:function(t,e){var n=parseInt(t,10);return 3*(n>=0?n-1:n+e/3)},parseUVIndex:function(t,e){var n=parseInt(t,10);return 2*(n>=0?n-1:n+e/2)},addVertex:function(t,e,n){var i=this.vertices,r=this.object.geometry.vertices;r.push(i[t+0],i[t+1],i[t+2]),r.push(i[e+0],i[e+1],i[e+2]),r.push(i[n+0],i[n+1],i[n+2])},addVertexPoint:function(t){var e=this.vertices,n=this.object.geometry.vertices;
25n.push(e[t+0],e[t+1],e[t+2])},addVertexLine:function(t){var e=this.vertices,n=this.object.geometry.vertices;n.push(e[t+0],e[t+1],e[t+2])},addNormal:function(t,e,n){var i=this.normals,r=this.object.geometry.normals;r.push(i[t+0],i[t+1],i[t+2]),r.push(i[e+0],i[e+1],i[e+2]),r.push(i[n+0],i[n+1],i[n+2])},addColor:function(t,e,n){var i=this.colors,r=this.object.geometry.colors;r.push(i[t+0],i[t+1],i[t+2]),r.push(i[e+0],i[e+1],i[e+2]),r.push(i[n+0],i[n+1],i[n+2])},addUV:function(t,e,n){var i=this.uvs,r=this.object.geometry.uvs;r.push(i[t+0],i[t+1]),r.push(i[e+0],i[e+1]),r.push(i[n+0],i[n+1])},addUVLine:function(t){var e=this.uvs,n=this.object.geometry.uvs;n.push(e[t+0],e[t+1])},addFace:function(t,e,n,i,r,o,a,s,l){var h=this.vertices.length,c=this.parseVertexIndex(t,h),u=this.parseVertexIndex(e,h),p=this.parseVertexIndex(n,h);if(this.addVertex(c,u,p),void 0!==i&&""!==i){var d=this.uvs.length;c=this.parseUVIndex(i,d),u=this.parseUVIndex(r,d),p=this.parseUVIndex(o,d),this.addUV(c,u,p)}if(void 0!==a&&""!==a){var f=this.normals.length;c=this.parseNormalIndex(a,f),u=a===s?c:this.parseNormalIndex(s,f),p=a===l?c:this.parseNormalIndex(l,f),this.addNormal(c,u,p)}this.colors.length>0&&this.addColor(c,u,p)},addPointGeometry:function(t){this.object.geometry.type="Points";for(var e=this.vertices.length,n=0,i=t.length;n<i;n++)this.addVertexPoint(this.parseVertexIndex(t[n],e))},addLineGeometry:function(t,e){this.object.geometry.type="Line";for(var n=this.vertices.length,i=this.uvs.length,r=0,o=t.length;r<o;r++)this.addVertexLine(this.parseVertexIndex(t[r],n));for(var a=0,o=e.length;a<o;a++)this.addUVLine(this.parseUVIndex(e[a],i))}};return t.startObject("",!1),t}function e(t){this.manager=void 0!==t?t:THREE.DefaultLoadingManager,this.materials=null}var n=/^[og]\s*(.+)?/,i=/^mtllib /,r=/^usemtl /;return e.prototype={constructor:e,load:function(t,e,n,i){var r=this,o=new THREE.FileLoader(r.manager);o.setPath(this.path),o.load(t,function(t){e(r.parse(t))},n,i)},setPath:function(t){return this.path=t,this},setMaterials:function(t){return this.materials=t,this},parse:function(e){console.time("OBJLoader");var o=new t;e.indexOf("\r\n")!==-1&&(e=e.replace(/\r\n/g,"\n")),e.indexOf("\\\n")!==-1&&(e=e.replace(/\\\n/g,""));for(var a=e.split("\n"),s="",l="",h=0,c=[],u="function"==typeof"".trimLeft,p=0,d=a.length;p<d;p++)if(s=a[p],s=u?s.trimLeft():s.trim(),h=s.length,0!==h&&(l=s.charAt(0),"#"!==l))if("v"===l){var f=s.split(/\s+/);switch(f[0]){case"v":o.vertices.push(parseFloat(f[1]),parseFloat(f[2]),parseFloat(f[3])),8===f.length&&o.colors.push(parseFloat(f[4]),parseFloat(f[5]),parseFloat(f[6]));break;case"vn":o.normals.push(parseFloat(f[1]),parseFloat(f[2]),parseFloat(f[3]));break;case"vt":o.uvs.push(parseFloat(f[1]),parseFloat(f[2]))}}else if("f"===l){for(var m=s.substr(1).trim(),g=m.split(/\s+/),v=[],y=0,_=g.length;y<_;y++){var b=g[y];if(b.length>0){var x=b.split("/");v.push(x)}}for(var A=v[0],y=1,_=v.length-1;y<_;y++){var w=v[y],E=v[y+1];o.addFace(A[0],w[0],E[0],A[1],w[1],E[1],A[2],w[2],E[2])}}else if("l"===l){var T=s.substring(1).trim().split(" "),S=[],M=[];if(s.indexOf("/")===-1)S=T;else for(var C=0,P=T.length;C<P;C++){var L=T[C].split("/");""!==L[0]&&S.push(L[0]),""!==L[1]&&M.push(L[1])}o.addLineGeometry(S,M)}else if("p"===l){var m=s.substr(1).trim(),R=m.split(" ");o.addPointGeometry(R)}else if(null!==(c=n.exec(s))){var N=(" "+c[0].substr(1).trim()).substr(1);o.startObject(N)}else if(r.test(s))o.object.startMaterial(s.substring(7).trim(),o.materialLibraries);else if(i.test(s))o.materialLibraries.push(s.substring(7).trim());else{if("s"!==l){if("\0"===s)continue;throw new Error('THREE.OBJLoader: Unexpected line: "'+s+'"')}if(c=s.split(" "),c.length>1){var O=c[1].trim().toLowerCase();o.object.smooth="0"!==O&&"off"!==O}else o.object.smooth=!0;var I=o.object.currentMaterial();I&&(I.smooth=o.object.smooth)}o.finalize();var D=new THREE.Group;D.materialLibraries=[].concat(o.materialLibraries);for(var p=0,d=o.objects.length;p<d;p++){var B=o.objects[p],U=B.geometry,V=B.materials,G="Line"===U.type,k="Points"===U.type,H=!1;if(0!==U.vertices.length){var F=new THREE.BufferGeometry;F.addAttribute("position",new THREE.Float32BufferAttribute(U.vertices,3)),U.normals.length>0?F.addAttribute("normal",new THREE.Float32BufferAttribute(U.normals,3)):F.computeVertexNormals(),U.c
25olors.length>0&&(H=!0,F.addAttribute("color",new THREE.Float32BufferAttribute(U.colors,3))),U.uvs.length>0&&F.addAttribute("uv",new THREE.Float32BufferAttribute(U.uvs,2));for(var z=[],j=0,X=V.length;j<X;j++){var W=V[j],I=void 0;if(null!==this.materials)if(I=this.materials.create(W.name),!G||!I||I instanceof THREE.LineBasicMaterial){if(k&&I&&!(I instanceof THREE.PointsMaterial)){var Y=new THREE.PointsMaterial({size:10,sizeAttenuation:!1});K.copy(I),I=Y}}else{var K=new THREE.LineBasicMaterial;K.copy(I),K.lights=!1,I=K}I||(I=G?new THREE.LineBasicMaterial:k?new THREE.PointsMaterial({size:1,sizeAttenuation:!1}):new THREE.MeshPhongMaterial,I.name=W.name),I.flatShading=!W.smooth,I.vertexColors=H?THREE.VertexColors:THREE.NoColors,z.push(I)}var Z;if(z.length>1){for(var j=0,X=V.length;j<X;j++){var W=V[j];F.addGroup(W.groupStart,W.groupCount,j)}Z=G?new THREE.LineSegments(F,z):k?new THREE.Points(F,z):new THREE.Mesh(F,z)}else Z=G?new THREE.LineSegments(F,z[0]):k?new THREE.Points(F,z[0]):new THREE.Mesh(F,z[0]);Z.name=B.name,D.add(Z)}}return console.timeEnd("OBJLoader"),D}},e}()},{}],78:[function(t,e,n){"use strict";THREE.TrackballControls=function(t,e){function n(t){p.enabled!==!1&&(window.removeEventListener("keydown",n),v=g,g===d.NONE&&(t.keyCode!==p.keys[d.ROTATE]||p.noRotate?t.keyCode!==p.keys[d.ZOOM]||p.noZoom?t.keyCode!==p.keys[d.PAN]||p.noPan||(g=d.PAN):g=d.ZOOM:g=d.ROTATE))}function i(t){p.enabled!==!1&&(g=v,window.addEventListener("keydown",n,!1))}function r(t){p.enabled!==!1&&(t.preventDefault(),t.stopPropagation(),g===d.NONE&&(g=t.button),g!==d.ROTATE||p.noRotate?g!==d.ZOOM||p.noZoom?g!==d.PAN||p.noPan||(M.copy(N(t.pageX,t.pageY)),C.copy(M)):(w.copy(N(t.pageX,t.pageY)),E.copy(w)):(b.copy(O(t.pageX,t.pageY)),_.copy(b)),document.addEventListener("mousemove",o,!1),document.addEventListener("mouseup",a,!1),p.dispatchEvent(L))}function o(t){p.enabled!==!1&&(t.preventDefault(),t.stopPropagation(),g!==d.ROTATE||p.noRotate?g!==d.ZOOM||p.noZoom?g!==d.PAN||p.noPan||C.copy(N(t.pageX,t.pageY)):E.copy(N(t.pageX,t.pageY)):(_.copy(b),b.copy(O(t.pageX,t.pageY))))}function a(t){p.enabled!==!1&&(t.preventDefault(),t.stopPropagation(),g=d.NONE,document.removeEventListener("mousemove",o),document.removeEventListener("mouseup",a),p.dispatchEvent(R))}function s(t){if(p.enabled!==!1){t.preventDefault(),t.stopPropagation();var e=0;t.wheelDelta?e=t.wheelDelta/40:t.detail&&(e=-t.detail/3),w.y+=.01*e,p.dispatchEvent(L),p.dispatchEvent(R)}}function l(t){if(p.enabled!==!1){switch(t.touches.length){case 1:g=d.TOUCH_ROTATE,b.copy(O(t.touches[0].pageX,t.touches[0].pageY)),_.copy(b);break;default:g=d.TOUCH_ZOOM_PAN;var e=t.touches[0].pageX-t.touches[1].pageX,n=t.touches[0].pageY-t.touches[1].pageY;S=T=Math.sqrt(e*e+n*n);var i=(t.touches[0].pageX+t.touches[1].pageX)/2,r=(t.touches[0].pageY+t.touches[1].pageY)/2;M.copy(N(i,r)),C.copy(M)}p.dispatchEvent(L)}}function h(t){if(p.enabled!==!1)switch(t.preventDefault(),t.stopPropagation(),t.touches.length){case 1:_.copy(b),b.copy(O(t.touches[0].pageX,t.touches[0].pageY));break;default:var e=t.touches[0].pageX-t.touches[1].pageX,n=t.touches[0].pageY-t.touches[1].pageY;S=Math.sqrt(e*e+n*n);var i=(t.touches[0].pageX+t.touches[1].pageX)/2,r=(t.touches[0].pageY+t.touches[1].pageY)/2;C.copy(N(i,r))}}function c(t){if(p.enabled!==!1){switch(t.touches.length){case 0:g=d.NONE;break;case 1:g=d.TOUCH_ROTATE,b.copy(O(t.touches[0].pageX,t.touches[0].pageY)),_.copy(b)}p.dispatchEvent(R)}}function u(t){t.preventDefault()}var p=this,d={NONE:-1,ROTATE:0,ZOOM:1,PAN:2,TOUCH_ROTATE:3,TOUCH_ZOOM_PAN:4};this.object=t,this.domElement=void 0!==e?e:document,this.enabled=!0,this.screen={left:0,top:0,width:0,height:0},this.rotateSpeed=1,this.zoomSpeed=1.2,this.panSpeed=.3,this.noRotate=!1,this.noZoom=!1,this.noPan=!1,this.staticMoving=!1,this.dynamicDampingFactor=.2,this.minDistance=0,this.maxDistance=1/0,this.keys=[65,83,68],this.target=new THREE.Vector3;var f=1e-6,m=new THREE.Vector3,g=d.NONE,v=d.NONE,y=new THREE.Vector3,_=new THREE.Vector2,b=new THREE.Vector2,x=new THREE.Vector3,A=0,w=new THREE.Vector2,E=new THREE.Vector2,T=0,S=0,M=new THREE.Vector2,C=new THREE.Vector2;this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.up0=this.object.up.clone();var P={type:"change"},L={type:"start"},R={type:"end"};this.handleResize=function(){if(this.domElement===document)this.screen.left=0,this.screen.top=0,this.screen.width=window.innerWidth,this.screen.height=window.innerHeight;else{var t=this.domElement.getBoundingClientRect(),e=this.domElement.ownerDocument.documentElement;this.screen.left=t.left+window.pageXOffset-e.clientLeft,this.screen.top=t.top+window.pageYOffset-e.clientTop,this.screen.width=t.width,this.screen.height=t.height}},this.handleEvent=function(t){"function"==typeof this[t.type]&&this[t.type](t)};var N=function(){var t=new THREE.Vector2;return function(e,n){return t.set((e-p.screen.left)/p.screen.width,(n-p.screen.top)/p.screen.height),t}}(),O=function(){var t=new THREE.Vector2;return function(e,n){return t.set((e-.5*p.screen.width-p.screen.left)/(.5*p.screen.width),(p.screen.height+2*(p.screen.top-n))/p.screen.width),t}}();
25this.rotateCamera=function(){var t,e=new THREE.Vector3,n=new THREE.Quaternion,i=new THREE.Vector3,r=new THREE.Vector3,o=new THREE.Vector3,a=new THREE.Vector3;return function(){a.set(b.x-_.x,b.y-_.y,0),t=a.length(),t?(y.copy(p.object.position).sub(p.target),i.copy(y).normalize(),r.copy(p.object.up).normalize(),o.crossVectors(r,i).normalize(),r.setLength(b.y-_.y),o.setLength(b.x-_.x),a.copy(r.add(o)),e.crossVectors(a,y).normalize(),t*=p.rotateSpeed,n.setFromAxisAngle(e,t),y.applyQuaternion(n),p.object.up.applyQuaternion(n),x.copy(e),A=t):!p.staticMoving&&A&&(A*=Math.sqrt(1-p.dynamicDampingFactor),y.copy(p.object.position).sub(p.target),n.setFromAxisAngle(x,A),y.applyQuaternion(n),p.object.up.applyQuaternion(n)),_.copy(b)}}(),this.zoomCamera=function(){var t;g===d.TOUCH_ZOOM_PAN?(t=T/S,T=S,y.multiplyScalar(t)):(t=1+(E.y-w.y)*p.zoomSpeed*-1,1!==t&&t>0&&(y.multiplyScalar(t),p.staticMoving?w.copy(E):w.y+=(E.y-w.y)*this.dynamicDampingFactor))},this.panCamera=function(){var t=new THREE.Vector2,e=new THREE.Vector3,n=new THREE.Vector3;return function(){t.copy(C).sub(M),t.lengthSq()&&(t.multiplyScalar(y.length()*p.panSpeed),n.copy(y).cross(p.object.up).setLength(t.x),n.add(e.copy(p.object.up).setLength(t.y)),p.object.position.add(n),p.target.add(n),p.staticMoving?M.copy(C):M.add(t.subVectors(C,M).multiplyScalar(p.dynamicDampingFactor)))}}(),this.checkDistances=function(){p.noZoom&&p.noPan||(y.lengthSq()>p.maxDistance*p.maxDistance&&(p.object.position.addVectors(p.target,y.setLength(p.maxDistance)),w.copy(E)),y.lengthSq()<p.minDistance*p.minDistance&&(p.object.position.addVectors(p.target,y.setLength(p.minDistance)),w.copy(E)))},this.update=function(){y.subVectors(p.object.position,p.target),p.noRotate||p.rotateCamera(),p.noZoom||p.zoomCamera(),p.noPan||p.panCamera(),p.object.position.addVectors(p.target,y),p.checkDistances(),p.object.lookAt(p.target),m.distanceToSquared(p.object.position)>f&&(p.dispatchEvent(P),m.copy(p.object.position))},this.reset=function(){g=d.NONE,v=d.NONE,p.target.copy(p.target0),p.object.position.copy(p.position0),p.object.up.copy(p.up0),y.subVectors(p.object.position,p.target),p.object.lookAt(p.target),p.dispatchEvent(P),m.copy(p.object.position)},this.dispose=function(){this.domElement.removeEventListener("contextmenu",u,!1),this.domElement.removeEventListener("mousedown",r,!1),this.domElement.removeEventListener("mousewheel",s,!1),this.domElement.removeEventListener("MozMousePixelScroll",s,!1),this.domElement.removeEventListener("touchstart",l,!1),this.domElement.removeEventListener("touchend",c,!1),this.domElement.removeEventListener("touchmove",h,!1),document.removeEventListener("mousemove",o,!1),document.removeEventListener("mouseup",a,!1),window.removeEventListener("keydown",n,!1),window.removeEventListener("keyup",i,!1)},this.domElement.addEventListener("contextmenu",u,!1),this.domElement.addEventListener("mousedown",r,!1),this.domElement.addEventListener("mousewheel",s,!1),this.domElement.addEventListener("MozMousePixelScroll",s,!1),this.domElement.addEventListener("touchstart",l,!1),this.domElement.addEventListener("touchend",c,!1),this.domElement.addEventListener("touchmove",h,!1),window.addEventListener("keydown",n,!1),window.addEventListener("keyup",i,!1),this.handleResize(),this.update()},THREE.TrackballControls.prototype=Object.create(THREE.EventDispatcher.prototype),THREE.TrackballControls.prototype.constructor=THREE.TrackballControls},{}]},{},[68]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.