PageSourceSearch

https://www.wafaifo.com/wp-content/plugins/de-builder-evo-blocks/b…/assets/js/pannellum.min.js?ver=2.4.1

js wafaifo.com collected 2026-09-26 15:34:49 UTC 52,400 bytes, 1 lines download raw bytes

vendor: 4,761 bytes, line 1
1window.libpannellum=function(t,F,B){function a(c){function u(e,t){return 1==e.level&&1!=t.level?-1:1==t.level&&1!=e.level?1:t.timestamp-e.timestamp}function d(e,t){return e.level!=t.level?e.level-t.level:e.diff-t.diff}function y(e,t,o,n,a,i){this.vertices=e,this.side=t,this.level=o,this.x=n,this.y=a,this.path=i.replace("%s",t).replace("%l",o).replace("%x",n).replace("%y",a)}function w(e,t,o,n,a){var i;i=b(e,(l=t.vertices).slice(0,3));var r=b(e,l.slice(3,6)),s=b(e,l.slice(6,9)),l=b(e,l.slice(9,12)),h=i[0]+r[0]+s[0]+l[0];if(i=-4!=h&&4!=h&&-4!=(h=i[1]+r[1]+s[1]+l[1])&&4!=h&&4!=i[2]+r[2]+s[2]+l[2]){for(r=(i=t.vertices)[0]+i[3]+i[6]+i[9],s=i[1]+i[4]+i[7]+i[10],l=i[2]+i[5]+i[8]+i[11],h=Math.sqrt(r*r+s*s+l*l),l=Math.asin(l/h),r=Math.atan2(s,r)-n,r+=r>Math.PI?-2*Math.PI:r<-Math.PI?2*Math.PI:0,r=Math.abs(r),t.diff=Math.acos(Math.sin(o)*Math.sin(l)+Math.cos(o)*Math.cos(l)*Math.cos(r)),r=!1,s=0;s<x.nodeCache.length;s++)if(x.nodeCache[s].path==t.path){r=!0,x.nodeCache[s].timestamp=x.nodeCacheTimestamp++,x.nodeCache[s].diff=t.diff,x.currentNodes.push(x.nodeCache[s]);break}if(r||(t.timestamp=x.nodeCacheTimestamp++,x.currentNodes.push(t),x.nodeCache.push(t)),t.level<x.level){l=C.cubeResolution*Math.pow(2,t.level-C.maxLevel),r=Math.ceil(l*C.invTileResolution)-1,s=l%C.tileResolution*2;var c=2*l%C.tileResolution;0===c&&(c=C.tileResolution),0===s&&(s=2*C.tileResolution),h=.5,t.x!=r&&t.y!=r||(h=1-C.tileResolution/(C.tileResolution+c));var u=1-h,d=(l=[],h),f=h,m=h,p=u,v=u,g=u;for(c<C.tileResolution&&(t.x==r&&t.y!=r?(v=f=.5,"d"!=t.side&&"u"!=t.side||(g=m=.5)):t.x!=r&&t.y==r&&(p=d=.5,"l"==t.side||"r"==t.side)&&(g=m=.5)),s<=C.tileResolution&&(t.x==r&&(d=0,p=1,"l"==t.side||"r"==t.side)&&(m=0,g=1),t.y==r&&(f=0,v=1,"d"==t.side||"u"==t.side)&&(m=0,g=1)),c=new y(c=[i[0],i[1],i[2],i[0]*d+i[3]*p,i[1]*h+i[4]*u,i[2]*m+i[5]*g,i[0]*d+i[6]*p,i[1]*f+i[7]*v,i[2]*m+i[8]*g,i[0]*h+i[9]*u,i[1]*f+i[10]*v,i[2]*m+i[11]*g],t.side,t.level+1,2*t.x,2*t.y,C.fullpath),l.push(c),t.x==r&&s<=C.tileResolution||(c=new y(c=[i[0]*d+i[3]*p,i[1]*h+i[4]*u,i[2]*m+i[5]*g,i[3],i[4],i[5],i[3]*h+i[6]*u,i[4]*f+i[7]*v,i[5]*m+i[8]*g,i[0]*d+i[6]*p,i[1]*f+i[7]*v,i[2]*m+i[8]*g],t.side,t.level+1,2*t.x+1,2*t.y,C.fullpath),l.push(c)),t.x==r&&s<=C.tileResolution||t.y==r&&s<=C.tileResolution||(c=new y(c=[i[0]*d+i[6]*p,i[1]*f+i[7]*v,i[2]*m+i[8]*g,i[3]*h+i[6]*u,i[4]*f+i[7]*v,i[5]*m+i[8]*g,i[6],i[7],i[8],i[9]*d+i[6]*p,i[10]*h+i[7]*u,i[11]*m+i[8]*g],t.side,t.level+1,2*t.x+1,2*t.y+1,C.fullpath),l.push(c)),t.y==r&&s<=C.tileResolution||(c=new y(c=[i[0]*h+i[9]*u,i[1]*f+i[10]*v,i[2]*m+i[11]*g,i[0]*d+i[6]*p,i[1]*f+i[7]*v,i[2]*m+i[8]*g,i[9]*d+i[6]*p,i[10]*h+i[7]*u,i[11]*m+i[8]*g,i[9],i[10],i[11]],t.side,t.level+1,2*t.x,2*t.y+1,C.fullpath),l.push(c)),t=0;t<l.length;t++)w(e,l[t],o,n,a)}}}function f(){return[-1,1,-1,1,1,-1,1,-1,-1,-1,-1,-1,1,1,1,-1,1,1,-1,-1,1,1,-1,1,-1,1,1,1,1,1,1,1,-1,-1,1,-1,-1,-1,-1,1,-1,-1,1,-1,1,-1,-1,1,-1,1,1,-1,1,-1,-1,-1,-1,-1,-1,1,1,1,-1,1,1,1,1,-1,1,1,-1,-1]}function m(e,t,o){var n=Math.sin(t);return t=Math.cos(t),"x"==o?[e[0],t*e[1]+n*e[2],t*e[2]-n*e[1],e[3],t*e[4]+n*e[5],t*e[5]-n*e[4],e[6],t*e[7]+n*e[8],t*e[8]-n*e[7]]:"y"==o?[t*e[0]-n*e[2],e[1],t*e[2]+n*e[0],t*e[3]-n*e[5],e[4],t*e[5]+n*e[3],t*e[6]-n*e[8],e[7],t*e[8]+n*e[6]]:"z"==o?[t*e[0]+n*e[1],t*e[1]-n*e[0],e[2],t*e[3]+n*e[4],t*e[4]-n*e[3],e[5],t*e[6]+n*e[7],t*e[7]-n*e[6],e[8]]:void 0}function p(e){return[e[0],e[4],e[8],e[12],e[1],e[5],e[9],e[13],e[2],e[6],e[10],e[14],e[3],e[7],e[11],e[15]]}function v(t){t.textureLoad||(t.textureLoad=!0,e(encodeURI(t.path+"."+C.extension),function(e){t.texture=e,t.textureLoaded=!0},O.crossOrigin))}function b(e,t){var o=(a=[e[0]*t[0]+e[1]*t[1]+e[2]*t[2],e[4]*t[0]+e[5]*t[1]+e[6]*t[2],e[11]+e[8]*t[0]+e[9]*t[1]+e[10]*t[2],1/(e[12]*t[0]+e[13]*t[1]+e[14]*t[2])])[0]*a[3],n=a[1]*a[3],a=a[2]*a[3],i=[0,0,0];return o<-1&&(i[0]=-1),1<o&&(i[0]=1),n<-1&&(i[1]=-1),1<n&&(i[1]=1),(a<-1||1<a)&&(i[2]=1),i}function g(){console.log("Reducing canvas size due to error 1286!"),U.width=Math.round(U.width/2),U.height=Math.round(U.height/2)}var x,E,M,P,R,_,T,L,C,I,A,k,S,D,N,O,U=F.createElement("canvas");U.style.width=U.style.height="100%",c.appendChild(U),this.init=function(e,t,o,n,a,i,r,s){if(t===B&&(t="equirectangular"),"equirectangular"!=t&&"cubemap"!=t&&"multires"!=t)throw console.log("Error: invalid image type specified!"),{type:"config error"};if(I=t,C=e,A=o,O=s||{},x){if(M&&(E.detachShader(x,M),E.deleteShader(M)),P&&(E.detachShader(x,P),E.deleteShader(P)),E.bindBuffer(E.ARRAY_BUFFER,null),E.bindBuffer(E.ELEMENT_ARRAY_BUFFER,null),x.texture&&E.deleteTexture(x.texture),x.nodeCache)for(e=0;e<x.nodeCache.length;e++)E.deleteTexture(x.nodeCache[e].texture);E.deleteProgram(x),x=B}if(L=B,"cubemap"==I&&0!=(C[0].width&C[0].width-1)&&(navigator.userAgent.toLowerCase().match(/(i
1phone|ipod|ipad).* os 8_/)||navigator.userAgent.toLowerCase().match(/(iphone|ipod|ipad).* os 9_/)||navigator.userAgent.toLowerCase().match(/(iphone|ipod|ipad).* os 10_/)||navigator.userAgent.match(/Trident.*rv[ :]*11\./))||(E=E||U.getContext("experimental-webgl",{alpha:!1,depth:!1}))&&1286==E.getError()&&g(),!E&&("multires"==I&&C.hasOwnProperty("fallbackPath")||"cubemap"==I)&&("WebkitAppearance"in F.documentElement.style||navigator.userAgent.match(/Trident.*rv[ :]*11\./)||-1!==navigator.appVersion.indexOf("MSIE 10"))){_&&c.removeChild(_),(_=F.createElement("div")).className="pnlm-world",n=C.basePath?C.basePath+C.fallbackPath:C.fallbackPath;var l="frblud".split(""),h=0;for(a=function(){var e=F.createElement("canvas");e.className="pnlm-face pnlm-"+l[this.side]+"face",_.appendChild(e);var t=e.getContext("2d");e.style.width=this.width+4+"px",e.style.height=this.height+4+"px",e.width=this.width+4,e.height=this.height+4,t.drawImage(this,2,2);var o,n,a=t.getImageData(0,0,e.width,e.height),i=a.data;for(o=2;o<e.width-2;o++)for(n=0;n<4;n++)i[4*(o+e.width)+n]=i[4*(o+2*e.width)+n],i[4*(o+e.width*(e.height-2))+n]=i[4*(o+e.width*(e.height-3))+n];for(o=2;o<e.height-2;o++)for(n=0;n<4;n++)i[4*(o*e.width+1)+n]=i[4*(o*e.width+2)+n],i[4*((o+1)*e.width-2)+n]=i[4*((o+1)*e.width-3)+n];for(n=0;n<4;n++)i[4*(e.width+1)+n]=i[4*(2*e.width+2)+n],i[4*(2*e.width-2)+n]=i[4*(3*e.width-3)+n],i[4*(e.width*(e.height-2)+1)+n]=i[4*(e.width*(e.height-3)+2)+n],i[4*(e.width*(e.height-1)-2)+n]=i[4*(e.width*(e.height-2)-3)+n];for(o=1;o<e.width-1;o++)for(n=0;n<4;n++)i[4*o+n]=i[4*(o+e.width)+n],i[4*(o+e.width*(e.height-1))+n]=i[4*(o+e.width*(e.height-2))+n];for(o=1;o<e.height-1;o++)for(n=0;n<4;n++)i[o*e.width*4+n]=i[4*(o*e.width+1)+n],i[4*((o+1)*e.width-1)+n]=i[4*((o+1)*e.width-2)+n];for(n=0;n<4;n++)i[n]=i[4*(e.width+1)+n],i[4*(e.width-1)+n]=i[4*(2*e.width-2)+n],i[e.width*(e.height-1)*4+n]=i[4*(e.width*(e.height-2)+1)+n],i[4*(e.width*e.height-1)+n]=i[4*(e.width*(e.height-1)-2)+n];t.putImageData(a,0,0),6==++h&&(R=this.width,c.appendChild(_),r())},e=0;e<6;e++)(i=new Image).crossOrigin=O.crossOrigin?O.crossOrigin:"anonymous",i.side=e,i.onload=a,i.src="multires"==I?encodeURI(n.replace("%s",l[e])+"."+C.extension):encodeURI(C[e].src)}else{if(!E)throw console.log("Error: no WebGL support detected!"),{type:"no webgl"};for(C.fullpath=C.basePath?C.basePath+C.path:C.path,C.invTileResolution=1/C.tileResolution,t=f(),T=[],e=0;e<6;e++)T[e]=t.slice(12*e,12*e+12),t=f();if("equirectangular"==I){if(e=Math.max(C.width,C.height),(t=E.getParameter(E.MAX_TEXTURE_SIZE))<e)throw console.log("Error: The image is too big; it's "+e+"px wide, but this device's maximum supported width is "+t+"px."),{type:"webgl size error",width:e,maxWidth:t}}else if("cubemap"==I&&(e=C[0].width,(t=E.getParameter(E.MAX_CUBE_MAP_TEXTURE_SIZE))<e))throw console.log("Error: The cube face image is too big; it's "+e+"px wide, but this device's maximum supported width is "+t+"px."),{type:"webgl size error",width:e,maxWidth:t};if(s===B||s.horizonPitch===B&&s.horizonRoll===B||(L=[s.horizonPitch==B?0:s.horizonPitch,s.horizonRoll==B?0:s.horizonRoll]),e=E.TEXTURE_2D,E.viewport(0,0,E.drawingBufferWidth,E.drawingBufferHeight),M=E.createShader(E.VERTEX_SHADER),t="attribute vec2 a_texCoord;varying vec2 v_texCoord;void main() {gl_Position = vec4(a_texCoord, 0.0, 1.0);v_texCoord = a_texCoord;}","multires"==I&&(t="attribute vec3 a_vertCoord;attribute vec2 a_texCoord;uniform mat4 u_cubeMatrix;uniform mat4 u_perspMatrix;varying mediump vec2 v_texCoord;void main(void) {gl_Position = u_perspMatrix * u_cubeMatrix * vec4(a_vertCoord, 1.0);v_texCoord = a_texCoord;}"),E.shaderSource(M,t),E.compileShader(M),P=E.createShader(E.FRAGMENT_SHADER),t="precision mediump float;\nuniform float u_aspectRatio;\nuniform float u_psi;\nuniform float u_theta;\nuniform float u_f;\nuniform float u_h;\nuniform float u_v;\nuniform float u_vo;\nuniform float u_rot;\nconst float PI = 3.14159265358979323846264;\nuniform sampler2D u_image;\nuniform samplerCube u_imageCube;\nvarying vec2 v_texCoord;\nuniform vec4 u_backgroundColor;\nvoid main() {\nfloat x = v_texCoord.x * u_aspectRatio;\nfloat y = v_texCoord.y;\nfloat sinrot = sin(u_rot);
1\nfloat cosrot = cos(u_rot);\nfloat rot_x = x * cosrot - y * sinrot;\nfloat rot_y = x * sinrot + y * cosrot;\nfloat sintheta = sin(u_theta);\nfloat costheta = cos(u_theta);\nfloat a = u_f * costheta - rot_y * sintheta;\nfloat root = sqrt(rot_x * rot_x + a * a);\nfloat lambda = atan(rot_x / root, a / root) + u_psi;\nfloat phi = atan((rot_y * costheta + u_f * sintheta) / root);lambda = mod(lambda + PI, PI * 2.0) - PI;\nvec2 coord = vec2(lambda / PI, phi / (PI / 2.0));\nif(coord.x < -u_h || coord.x > u_h || coord.y < -u_v + u_vo || coord.y > u_v + u_vo)\ngl_FragColor = u_backgroundColor;\nelse\ngl_FragColor = texture2D(u_image, vec2((coord.x + u_h) / (u_h * 2.0), (-coord.y + u_v + u_vo) / (u_v * 2.0)));\n}","cubemap"==I?(e=E.TEXTURE_CUBE_MAP,t="precision mediump float;\nuniform float u_aspectRatio;\nuniform float u_psi;\nuniform float u_theta;\nuniform float u_f;\nuniform float u_h;\nuniform float u_v;\nuniform float u_vo;\nuniform float u_rot;\nconst float PI = 3.14159265358979323846264;\nuniform sampler2D u_image;\nuniform samplerCube u_imageCube;\nvarying vec2 v_texCoord;\nuniform vec4 u_backgroundColor;\nvoid main() {\nfloat x = v_texCoord.x * u_aspectRatio;\nfloat y = v_texCoord.y;\nfloat sinrot = sin(u_rot);\nfloat cosrot = cos(u_rot);\nfloat rot_x = x * cosrot - y * sinrot;\nfloat rot_y = x * sinrot + y * cosrot;\nfloat sintheta = sin(u_theta);\nfloat costheta = cos(u_theta);\nfloat a = u_f * costheta - rot_y * sintheta;\nfloat root = sqrt(rot_x * rot_x + a * a);\nfloat lambda = atan(rot_x / root, a / root) + u_psi;\nfloat phi = atan((rot_y * costheta + u_f * sintheta) / root);float cosphi = cos(phi);\ngl_FragColor = textureCube(u_imageCube, vec3(cosphi*sin(lambda), sin(phi), cosphi*cos(lambda)));\n}"):"multires"==I&&(t="varying mediump vec2 v_texCoord;uniform sampler2D u_sampler;void main(void) {gl_FragColor = texture2D(u_sampler, v_texCoord);}
1"),E.shaderSource(P,t),E.compileShader(P),x=E.createProgram(),E.attachShader(x,M),E.attachShader(x,P),E.linkProgram(x),E.getShaderParameter(M,E.COMPILE_STATUS)||console.log(E.getShaderInfoLog(M)),E.getShaderParameter(P,E.COMPILE_STATUS)||console.log(E.getShaderInfoLog(P)),E.getProgramParameter(x,E.LINK_STATUS)||console.log(E.getProgramInfoLog(x)),E.useProgram(x),x.drawInProgress=!1,x.texCoordLocation=E.getAttribLocation(x,"a_texCoord"),E.enableVertexAttribArray(x.texCoordLocation),"multires"!=I?(k=k||E.createBuffer(),E.bindBuffer(E.ARRAY_BUFFER,k),E.bufferData(E.ARRAY_BUFFER,new Float32Array([-1,1,1,1,1,-1,-1,1,1,-1,-1,-1]),E.STATIC_DRAW),E.vertexAttribPointer(x.texCoordLocation,2,E.FLOAT,!1,0,0),x.aspectRatio=E.getUniformLocation(x,"u_aspectRatio"),E.uniform1f(x.aspectRatio,E.drawingBufferWidth/E.drawingBufferHeight),x.psi=E.getUniformLocation(x,"u_psi"),x.theta=E.getUniformLocation(x,"u_theta"),x.f=E.getUniformLocation(x,"u_f"),x.h=E.getUniformLocation(x,"u_h"),x.v=E.getUniformLocation(x,"u_v"),x.vo=E.getUniformLocation(x,"u_vo"),x.rot=E.getUniformLocation(x,"u_rot"),E.uniform1f(x.h,n/(2*Math.PI)),E.uniform1f(x.v,a/Math.PI),E.uniform1f(x.vo,i/Math.PI*2),"equirectangular"==I&&(x.backgroundColor=E.getUniformLocation(x,"u_backgroundColor"),E.uniform4fv(x.backgroundColor,(s.backgroundColor?s.backgroundColor:[0,0,0]).concat([1]))),x.texture=E.createTexture(),E.bindTexture(e,x.texture),"cubemap"==I?(E.texImage2D(E.TEXTURE_CUBE_MAP_POSITIVE_X,0,E.RGB,E.RGB,E.UNSIGNED_BYTE,C[1]),E.texImage2D(E.TEXTURE_CUBE_MAP_NEGATIVE_X,0,E.RGB,E.RGB,E.UNSIGNED_BYTE,C[3]),E.texImage2D(E.TEXTURE_CUBE_MAP_POSITIVE_Y,0,E.RGB,E.RGB,E.UNSIGNED_BYTE,C[4]),E.texImage2D(E.TEXTURE_CUBE_MAP_NEGATIVE_Y,0,E.RGB,E.RGB,E.UNSIGNED_BYTE,C[5]),E.texImage2D(E.TEXTURE_CUBE_MAP_POSITIVE_Z,0,E.RGB,E.RGB,E.UNSIGNED_BYTE,C[0]),E.texImage2D(E.TEXTURE_CUBE_MAP_NEGATIVE_Z,0,E.RGB,E.RGB,E.UNSIGNED_BYTE,C[2])):E.texImage2D(e,0,E.RGB,E.RGB,E.UNSIGNED_BYTE,C),E.texParameteri(e,E.TEXTURE_WRAP_S,E.CLAMP_TO_EDGE),E.texParameteri(e,E.TEXTURE_WRAP_T,E.CLAMP_TO_EDGE),E.texParameteri(e,E.TEXTURE_MIN_FILTER,E.LINEAR),E.texParameteri(e,E.TEXTURE_MAG_FILTER,E.LINEAR)):(x.vertPosLocation=E.getAttribLocation(x,"a_vertCoord"),E.enableVertexAttribArray(x.vertPosLocation),S=S||E.createBuffer(),D=D||E.createBuffer(),N=N||E.createBuffer(),E.bindBuffer(E.ARRAY_BUFFER,D),E.bufferData(E.ARRAY_BUFFER,new Float32Array([0,0,1,0,1,1,0,1]),E.STATIC_DRAW),E.bindBuffer(E.ELEMENT_ARRAY_BUFFER,N),E.bufferData(E.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,0,2,3]),E.STATIC_DRAW),x.perspUniform=E.getUniformLocation(x,"u_perspMatrix"),x.cubeUniform=E.getUniformLocation(x,"u_cubeMatrix"),x.level=-1,x.currentNodes=[],x.nodeCache=[],x.nodeCacheTimestamp=0),0!==(n=E.getError()))throw console.log("Error: Something went wrong with WebGL!",n),{type:"webgl error"};r()}},this.destroy=function(){if(c!==B&&(U!==B&&c.contains(U)&&c.removeChild(U),_!==B&&c.contains(_)&&c.removeChild(_)),E){var e=E.getExtension("WEBGL_lose_context");e&&e.loseContext()}},this.resize=function(){var e=t.devicePixelRatio||1;U.width=U.clientWidth*e,U.height=U.clientHeight*e,E&&(1286==E.getError()&&g(),E.viewport(0,0,E.drawingBufferWidth,E.drawingBufferHeight),"multires"!=I&&E.uniform1f(x.aspectRatio,U.clientWidth/U.clientHeight))},this.resize(),this.setPose=function(e,t){L=[e,t]},this.render=function(e,t,o,n){var a;if(a=0,n===B&&(n={}),n.roll&&(a=n.roll),L!==B){var i=L[0],r=L[1],s=e,l=t,h=Math.cos(r)*Math.sin(e)*Math.sin(i)+Math.cos(e)*(Math.cos(i)*Math.cos(t)+Math.sin(r)*Math.sin(i)*Math.sin(t)),c=-Math.sin(e)*Math.sin(r)+Math.cos(e)*Math.cos(r)*Math.sin(t);e=Math.cos(r)*Math.cos(i)*Math.sin(e)+Math.cos(e)*(-Math.cos(t)*Math.sin(i)+Math.cos(i)*Math.sin(r)*Math.sin(t)),e=Math.asin(Math.max(Math.min(e,1),-1)),t=Math.atan2(c,h),i=[Math.cos(s)*(Math.sin(r)*Math.sin(i)*Math.cos(l)-Math.cos(i)*Math.sin(l)),Math.cos(s)*Math.cos(r)*Math.cos(l),Math.cos(s)*(Math.cos(i)*Math.sin(r)*Math.cos(l)+Math.sin(l)*Math.sin(i))],r=[-Math.cos(e)*Math.sin(t),Math.cos(e)*Math.cos(t)],r=Math.acos(Math.max(Math.min((i[0]*r[0]+i[1]*r[1])/(Math.sqrt(i[0]*i[0]+i[1]*i[1]+i[2]*i[2])*M
vendor: 5,169 bytes, line 1
1ath.sqrt(r[0]*r[0]+r[1]*r[1])),1),-1)),i[2]<0&&(r=2*Math.PI-r),a+=r}if(E||"multires"!=I&&"cubemap"!=I){if("multires"!=I)o=2*Math.atan(Math.tan(.5*o)/(E.drawingBufferWidth/E.drawingBufferHeight)),o=1/Math.tan(.5*o),E.uniform1f(x.psi,t),E.uniform1f(x.theta,e),E.uniform1f(x.rot,a),E.uniform1f(x.f,o),!0===A&&"equirectangular"==I&&(E.bindTexture(E.TEXTURE_2D,x.texture),E.texImage2D(E.TEXTURE_2D,0,E.RGB,E.RGB,E.UNSIGNED_BYTE,C)),E.drawArrays(E.TRIANGLES,0,6);else{for(i=E.drawingBufferWidth/E.drawingBufferHeight,r=2*Math.atan(Math.tan(o/2)*E.drawingBufferHeight/E.drawingBufferWidth),i=[(r=1/Math.tan(r/2))/i,0,0,0,0,r,0,0,0,0,100.1/-99.9,20/-99.9,0,0,-1,0],r=1;r<C.maxLevel&&E.drawingBufferWidth>C.tileResolution*Math.pow(2,r-1)*Math.tan(o/2)*.707;)r++;if(x.level=r,r=m(r=[1,0,0,0,1,0,0,0,1],-a,"z"),r=m(r,-e,"x"),r=[(r=m(r,t,"y"))[0],r[1],r[2],0,r[3],r[4],r[5],0,r[6],r[7],r[8],0,0,0,0,1],E.uniformMatrix4fv(x.perspUniform,!1,new Float32Array(p(i))),E.uniformMatrix4fv(x.cubeUniform,!1,new Float32Array(p(r))),i=[i[0]*r[0],i[0]*r[1],i[0]*r[2],0,i[5]*r[4],i[5]*r[5],i[5]*r[6],0,i[10]*r[8],i[10]*r[9],i[10]*r[10],i[11],-r[8],-r[9],-r[10],0],x.nodeCache.sort(u),200<x.nodeCache.length&&x.nodeCache.length>x.currentNodes.length+50)for(r=x.nodeCache.splice(200,x.nodeCache.length-200),a=0;a<r.length;a++)E.deleteTexture(r[a].texture);for(x.currentNodes=[],r="fbudlr".split(""),a=0;a<6;a++)w(i,s=new y(T[a],r[a],1,0,0,C.fullpath),e,t,o);for(x.currentNodes.sort(d),a=0;a<x.currentNodes.length;a++)if(!x.currentNodes[a].texture){setTimeout(v,0,x.currentNodes[a]);break}if(!x.drawInProgress){for(x.drawInProgress=!0,e=0;e<x.currentNodes.length;e++)x.currentNodes[e].textureLoaded&&(E.bindBuffer(E.ARRAY_BUFFER,S),E.bufferData(E.ARRAY_BUFFER,new Float32Array(x.currentNodes[e].vertices),E.STATIC_DRAW),E.vertexAttribPointer(x.vertPosLocation,3,E.FLOAT,!1,0,0),E.bindBuffer(E.ARRAY_BUFFER,D),E.vertexAttribPointer(x.texCoordLocation,2,E.FLOAT,!1,0,0),E.bindTexture(E.TEXTURE_2D,x.currentNodes[e].texture),E.drawElements(E.TRIANGLES,6,E.UNSIGNED_SHORT,0));x.drawInProgress=!1}}if(n.returnImage!==B)return U.toDataURL("image/png")}else for(n={f:"translate3d(-"+(2+(a=R/2))+"px, -"+(a+2)+"px, -"+a+"px)",b:"translate3d("+(a+2)+"px, -"+(a+2)+"px, "+a+"px) rotateX(180deg) rotateZ(180deg)",u:"translate3d(-"+(a+2)+"px, -"+a+"px, "+(a+2)+"px) rotateX(270deg)",d:"translate3d(-"+(a+2)+"px, "+a+"px, -"+(a+2)+"px) rotateX(90deg)",l:"translate3d(-"+a+"px, -"+(a+2)+"px, "+(a+2)+"px) rotateX(180deg) rotateY(90deg) rotateZ(180deg)",r:"translate3d("+a+"px, -"+(a+2)+"px, -"+(a+2)+"px) rotateY(270deg)"},e="perspective("+(o=(o=1/Math.tan(o/2))*E.drawingBufferWidth/2+"px")+") translateZ("+o+") rotateX("+e+"rad) rotateY("+t+"rad) ",t=Object.keys(n),a=0;a<6;a++)(o=_.querySelector(".pnlm-"+t[a]+"face").style).webkitTransform=e+n[t[a]],o.transform=e+n[t[a]]},this.isLoading=function(){if(E&&"multires"==I)for(var e=0;e<x.currentNodes.length;e++)if(!x.currentNodes[e].textureLoaded)return!0;return!1},this.getCanvas=function(){return U};var e=function(){function e(){var t=this;this.texture=this.callback=null,this.image=new Image,this.image.crossOrigin=a||"anonymous",this.image.addEventListener("load",function(){var e=t.image;E.bindTexture(E.TEXTURE_2D,t.texture),E.texImage2D(E.TEXTURE_2D,0,E.RGB,E.RGB,E.UNSIGNED_BYTE,e),E.texParameteri(E.TEXTURE_2D,E.TEXTURE_MAG_FILTER,E.LINEAR),E.texParameteri(E.TEXTURE_2D,E.TEXTURE_MIN_FILTER,E.LINEAR),E.texParameteri(E.TEXTURE_2D,E.TEXTURE_WRAP_S,E.CLAMP_TO_EDGE),E.texParameteri(E.TEXTURE_2D,E.TEXTURE_WRAP_T,E.CLAMP_TO_EDGE),E.bindTexture(E.TEXTURE_2D,null),t.callback(t.texture),s.length?(e=s.shift(),t.loadTexture(e.src,e.texture,e.callback)):r[i++]=t})}function n(e,t,o){this.src=e,this.texture=t,this.callback=o}var a,i=4,r={},s=[];e.prototype.loadTexture=function(e,t,o){this.texture=t,this.callback=o,this.image.src=e};for(var t=0;t<i;t++)r[t]=new e;return function(e,t,o){return a=o,o=E.createTexture(),i?r[--i].loadTexture(e,o,t):s.push(new n(e,o,t)),o}}()}return{renderer:function(e,t,o,n){return new a(e,t,o,n)}}}(window,document),window.requestAnimationFrame||(window.requestAnimationFrame=window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(e,t){window.setTimeout(e,1e3/60)}),window.pannellum=function(Oe,Ue,Fe){function o(n,s){function a(){if((a=Ue.createElement("div")).innerHTML="\x3c!--[if lte IE 9]><i></i><![endif]--\x3e",1==a.getElementsByTagName("i").length)u();else{var t;if(Q=W.hfov,$=W.pitch,"cubemap"==W.type){for(j=[],a=0;a<6;a++)j.push(new Image),j[a].crossOrigin=W.crossOrigin;Le.load.lbox.style.display="block",Le.load.lbar.style.display="none"}else if("multires"==W.type)a=JSON.parse(JSON.stringify(W.multiRes)),W.basePath&&W.multiRes.basePath&&!/^(?:[a-z]+:)?\/\//i.test(W.multiRes.basePath)?a.basePath=W.basePath+W.multiRes.basePath:W.multiRes.basePath?a.basePath=W.multiRes.basePath:W.basePath&&(a.basePath=W.basePath),j=a;else if(!0===W.dynamic)j=W.panorama;else{if(W.panorama===Fe)return void u(W.strings.noPanoramaError);j=new Image}if("cubemap"==W.type){function e(){0==--n&&l()}function o(e){var t=Ue.createElement("a");
1t.href=e.target.src,t.innerHTML=t.href,u(W.strings.fileAccessError.replace("%s",t.outerHTML))}for(var n=6,a=0;a<j.length;a++)j[a].onload=e,j[a].onerror=o,t=W.cubeMap[a],W.basePath&&!r(t)&&(t=W.basePath+t),j[a].src=encodeURI(t)}else if("multires"==W.type)l();else if(t="",W.basePath&&(t=W.basePath),!0!==W.dynamic){t=r(W.panorama)?W.panorama:t+W.panorama,j.onload=function(){Oe.URL.revokeObjectURL(this.src),l()};var i=new XMLHttpRequest;i.onloadend=function(){if(200!=i.status){var e=Ue.createElement("a");e.href=encodeURI(t),e.innerHTML=e.href,u(W.strings.fileAccessError.replace("%s",e.outerHTML))}var h,c;h=this.response,(c=new FileReader).addEventListener("loadend",function(){var e=c.result;if(navigator.userAgent.toLowerCase().match(/(iphone|ipod|ipad).* os 8_/)&&((t=e.indexOf("ÿÂ"))<0||65536<t)&&u(W.strings.iOS8WebGLError),-1<(t=e.indexOf("<x:xmpmeta"))&&!0!==W.ignoreGPanoXMP){var o=e.substring(t,e.indexOf("</x:xmpmeta>")+12),t=(e=(l=function(e){var t;return 0<=o.indexOf(e+'="')?t=(t=o.substring(o.indexOf(e+'="')+e.length+2)).substring(0,t.indexOf('"')):0<=o.indexOf(e+">")&&(t=(t=o.substring(o.indexOf(e+">")+e.length+1)).substring(0,t.indexOf("<"))),t!==Fe?Number(t):null})("GPano:FullPanoWidthPixels"),l("GPano:CroppedAreaImageWidthPixels")),n=l("GPano:FullPanoHeightPixels"),a=l("GPano:CroppedAreaImageHeightPixels"),i=l("GPano:CroppedAreaTopPixels"),r=l("GPano:PoseHeadingDegrees"),s=l("GPano:PosePitchDegrees"),l=l("GPano:PoseRollDegrees");null!==e&&null!==t&&null!==n&&null!==a&&null!==i&&(we.indexOf("haov")<0&&(W.haov=t/e*360),we.indexOf("vaov")<0&&(W.vaov=a/n*180),we.indexOf("vOffset")<0&&(W.vOffset=-180*((i+a/2)/n-.5)),null!==r&&we.indexOf("northOffset")<0&&(W.northOffset=r,!1!==W.compass&&(W.compass=!0)),null!==s&&null!==l&&(we.indexOf("horizonPitch")<0&&(W.horizonPitch=s),we.indexOf("horizonRoll")<0&&(W.horizonRoll=l)))}j.src=Oe.URL.createObjectURL(h)}),c.readAsBinaryString!==Fe?c.readAsBinaryString(h):c.readAsText(h),Le.load.msg.innerHTML=""},i.onprogress=function(e){var t,o;e.lengthComputable?(Le.load.lbarFill.style.width=e.loaded/e.total*100+"%",e=1e6<e.total?(t="MB",o=(e.loaded/1e6).toFixed(2),(e.total/1e6).toFixed(2)):1e3<e.total?(t="kB",o=(e.loaded/1e3).toFixed(1),(e.total/1e3).toFixed(1)):(t="B",o=e.loaded,e.total),Le.load.msg.innerHTML=o+" / "+e+" "+t):(Le.load.lbox.style.display="block",Le.load.lbar.style.display="none")};try{i.open("GET",t,!0)}catch(e){u(W.strings.malformedURLError)}i.responseType="blob",i.setRequestHeader("Accept","image/*,*/*;q=0.9"),i.withCredentials="use-credentials"===W.crossOrigin,i.send()}W.draggable&&Pe.classList.add("pnlm-grab"),Pe.classList.remove("pnlm-grabbing")}}function r(e){return/^(?:[a-z]+:)?\/\//i.test(e)||"/"==e[0]||"blob:"==e.slice(0,5)}function l(){q=q||new libpannellum.renderer(Re),ue||(ue=!0,_e.addEventListener("mousedown",e,!1),Ue.addEventListener("mousemove",o,!1),Ue.addEventListener("mouseup",c,!1),W.mouseZoom&&(Pe.addEventListener("mousewheel",y,!1),Pe.addEventListener("DOMMouseScroll",y,!1)),W.doubleClickZoom&&_e.addEventListener("dblclick",t,!1),Pe.addEventListener("mozfullscreenchange",N,!1),Pe.addEventListener("webkitfullscreenchange",N,!1),Pe.addEventListener("msfullscreenchange",N,!1),Pe.addEventListener("fullscreenchange",N,!1),Oe.addEventListener("resize",P,!1),Oe.addEventListener("orientationchange",P,!1),W.disableKeyboardCtrl||(n.addEventListener("keydown",w,!1),n.addEventListener("keyup",x,!1),n.addEventListener("blur",b,!1)),Ue.addEventListener("mouseleave",c,!1),""===Ue.documentElement.style.pointerAction&&""===Ue.documentElement.style.touchAction?(_e.addEventListener("pointerdown",p,!1),_e.addEventListener("pointermove",v,!1),_e.addEventListener("pointerup",g,!1),_e.addEventListener("pointerleave",g,!1)):(_e.addEventListener("touchstart",d,!1),_e.addEventListener("touchmove",f,!1),_e.addEventListener("touchend",m,!1)),Oe.navigator.pointerEnabled&&(n.style.touchAction="none")),function(){try{var e={};W.horizonPitch!==Fe&&(e.horizonPitch=W.horizonPitch*Math.PI/180),W.horizonRoll!==Fe&&(e.horizonRoll=W.horizonRoll*Math.PI/180),W.backgroundColor!==Fe&&(e.backgroundColor=W.backgroundColor),q.init(j,W.type,W.dynamic,W.haov*Math.PI/180,W.vaov*Math.PI/180,W.vOffset*Math.PI/180,C,e),!0!==W.dynamic&&(j=Fe)}catch(e){if("webgl error"==e.type||"no webgl"==e.type)u();else{if("webgl size error"!=e.type)throw u(W.strings.unknownError),e;
1u(W.strings.textureSizeError.replace("%s",e.width).replace("%s",e.maxWidth))}}}(),setTimeout(function(){},500)}function u(e){e===Fe&&(e=W.strings.genericWebGLError),Le.errorMsg.innerHTML="<p>"+e+"</p>",Ie.load.style.display="none",Le.load.box.style.display="none",Le.errorMsg.style.display="table",ce=!0,Re.style.display="none",X("error",e)}function h(e){var t=n.getBoundingClientRect(),o={};return o.x=e.clientX-t.left,o.y=e.clientY-t.top,o}function e(e){if(e.preventDefault(),n.focus(),V&&W.draggable){var t=h(e);if(W.hotSpotDebug){var o=i(e);console.log("Pitch: "+o[0]+", Yaw: "+o[1]+", Center Pitch: "+W.pitch+", Center Yaw: "+W.yaw+", HFOV: "+W.hfov)}F(),H(),W.roll=0,de.hfov=0,te=!0,oe=Date.now(),ne=t.x,ae=t.y,re=W.yaw,se=W.pitch,Pe.classList.add("pnlm-grabbing"),Pe.classList.remove("pnlm-grab"),X("mousedown",e),R()}}function t(e){W.minHfov===W.hfov?ee.setHfov(Q,1e3):(e=i(e),ee.lookAt(e[0],e[1],W.minHfov,1e3))}function i(e){var t=h(e),o=(e=q.getCanvas()).clientWidth,n=e.clientHeight;e=t.x/o*2-1,n=(1-t.y/n*2)*n/o;var a=1/Math.tan(W.hfov*Math.PI/360),i=Math.sin(W.pitch*Math.PI/180),r=Math.cos(W.pitch*Math.PI/180);return t=a*r-n*i,o=Math.sqrt(e*e+t*t),n=180*Math.atan((n*r+a*i)/o)/Math.PI,(e=180*Math.atan2(e/o,t/o)/Math.PI+W.yaw)<-180&&(e+=360),180<e&&(e-=360),[n,e]}function o(e){if(te&&V){oe=Date.now();var t=(o=q.getCanvas()).clientWidth,o=o.clientHeight;e=h(e);var n=180*(Math.atan(ne/t*2-1)-Math.atan(e.x/t*2-1))/Math.PI*W.hfov/90+re;de.yaw=(n-W.yaw)%360*.2,W.yaw=n,t=360*Math.atan(Math.tan(W.hfov/360*Math.PI)*o/t)/Math.PI,t=180*(Math.atan(e.y/o*2-1)-Math.atan(ae/o*2-1))/Math.PI*t/90+se,de.pitch=.2*(t-W.pitch),W.pitch=t}}function c(e){te&&(te=!1,15<Date.now()-oe&&(de.pitch=de.yaw=0),Pe.classList.add("pnlm-grab"),Pe.classList.remove("pnlm-grabbing"),oe=Date.now(),X("mouseup",e))}function d(e){if(V&&W.draggable){F(),H(),W.roll=0,de.hfov=0;var t=h(e.targetTouches[0]);if(ne=t.x,ae=t.y,2==e.targetTouches.length){var o=h(e.targetTouches[1]);ne+=.5*(o.x-t.x),ae+=.5*(o.y-t.y),ie=Math.sqrt((t.x-o.x)*(t.x-o.x)+(t.y-o.y)*(t.y-o.y))}te=!0,oe=Date.now(),re=W.yaw,se=W.pitch,X("touchstart",e),R()}}function f(e){if(W.draggable&&(e.preventDefault(),V&&(oe=Date.now()),te&&V)){var t=h(e.targetTouches[0]),o=t.x,n=t.y;2==e.targetTouches.length&&-1!=ie&&(o+=.5*((e=h(e.targetTouches[1])).x-t.x),n+=.5*(e.y-t.y),t=Math.sqrt((t.x-e.x)*(t.x-e.x)+(t.y-e.y)*(t.y-e.y)),U(W.hfov+.1*(ie-t)),ie=t),t=W.hfov/360,o=(ne-o)*t+re,de.yaw=(o-W.yaw)%360*.2,W.yaw=o,n=(n-ae)*t+se,de.pitch=.2*(n-W.pitch),W.pitch=n}}function m(){te=!1,150<Date.now()-oe&&(de.pitch=de.yaw=0),ie=-1,oe=Date.now(),X("touchend",event)}function p(e){"touch"==e.pointerType&&(De.push(e.pointerId),Ne.push({clientX:e.clientX,clientY:e.clientY}),e.targetTouches=Ne,d(e),e.preventDefault())}function v(e){if("touch"==e.pointerType)for(var t=0;t<De.length;t++)if(e.pointerId==De[t]){Ne[t].clientX=e.clientX,Ne[t].clientY=e.clientY,e.targetTouches=Ne,f(e),e.preventDefault();break}}function g(e){if("touch"==e.pointerType){for(var t=!1,o=0;o<De.length;o++)e.pointerId==De[o]&&(De[o]=Fe),De[o]&&(t=!0);t||(De=[],Ne=[],m()),e.preventDefault()}}function y(e){V&&("fullscreenonly"!=W.mouseZoom||he)&&(e.preventDefault(),F(),oe=Date.now(),e.wheelDeltaY?(U(W.hfov-.05*e.wheelDeltaY),de.hfov=e.wheelDelta<0?1:-1):e.wheelDelta?(U(W.hfov-.05*e.wheelDelta),de.hfov=e.wheelDelta<0?1:-1):e.detail&&(U(W.hfov+1.5*e.detail),de.hfov=0<e.detail?1:-1),R())}function w(e){F(),oe=Date.now(),H(),W.roll=0;var t=e.which||e.keycode;Me.indexOf(t)<0||(e.preventDefault(),27==t?he&&D():E(t,!0))}function b(){for(var e=0;e<10;e++)le[e]=!1}function x(e){var t=e.which||e.keycode;Me.indexOf(t)<0||(e.preventDefault(),E(t,!1))}function E(e,t){var o=!1;switch(e){case 109:case 189:case 17:case 173:le[0]!=t&&(o=!0),le[0]=t;break;case 107:case 187:case 16:case 61:le[1]!=t&&(o=!0),le[1]=t;break;case 38:le[2]!=t&&(o=!0),le[2]=t;break;case 87:le[6]!=t&&(o=!0),le[6]=t;break;case 40:le[3]!=t&&(o=!0),le[3]=t;break;case 83:le[7]!=t&&(o=!0),le[7]=t;break;case 37:le[4]!=t&&(o=!0),le[4]=t;break;case 65:le[8]!=t&&(o=!0),le[8]=t;break;case 39:le[5]!=t&&(o=!0),le[5]=t;break;case 68:le[9]!=t&&(o=!0),le[9]=t}o&&t&&(J="undefined"!=typeof performance&&performance.now()?performance.now():Date.now(),R())}function M(e){var t=ge[e],o=Math.min(1,Math.max((Date.now()-t.startTime)/1e3/(t.duration/1e3),0));if(o=t.startPosition+W.animationTimingFunction(o)*(t.endPosition-t.startPosition),t.endPosition>t.startPosition&&o>=t.endPosition||t.endPosition<t.startPosition&&o<=t.endPosition||t.endPosition===t.startPosition){o=t.endPosition,de[e]=0,t=ge[e].callback;var n=ge[e].callbackArgs;delete ge[e],"function"==typeof t&&t(n)}W[e]=o}function P(){N()}function R(){fe||(fe=!0,_())}function _(){if(function(){var e;if(V){180<W.yaw?W.yaw-=360:W.yaw<-180&&(W.yaw+=360),e=W.yaw;var t=W.maxYaw-W.minYaw,o=-180,n=180;
vendor: 9,934 bytes, line 1
1t<360&&(o=W.minYaw+W.hfov/2,n=W.maxYaw-W.hfov/2,t<W.hfov&&(o=n=(o+n)/2)),W.yaw=Math.max(o,Math.min(n,W.yaw)),!1!==W.autoRotate&&e!=W.yaw&&(W.autoRotate*=-1),e=q.getCanvas(),e=2*Math.atan(Math.tan(W.hfov/180*Math.PI*.5)/(e.width/e.height))/Math.PI*180,t=W.minPitch+e/2,o=W.maxPitch-e/2,W.maxPitch-W.minPitch<e&&(t=o=(t+o)/2),isNaN(t)&&(t=-90),isNaN(o)&&(o=90),W.pitch=Math.max(t,Math.min(o,W.pitch)),q.render(W.pitch*Math.PI/180,W.yaw*Math.PI/180,W.hfov*Math.PI/180,{roll:W.roll*Math.PI/180}),W.hotSpots.forEach(A),W.compass&&(Se.style.transform="rotate("+(-W.yaw-W.northOffset)+"deg)",Se.style.webkitTransform="rotate("+(-W.yaw-W.northOffset)+"deg)")}}(),K&&clearTimeout(K),te||!0===me)requestAnimationFrame(_);else if(le[0]||le[1]||le[2]||le[3]||le[4]||le[5]||le[6]||le[7]||le[8]||le[9]||W.autoRotate||ge.pitch||ge.yaw||ge.hfov||.01<Math.abs(de.yaw)||.01<Math.abs(de.pitch)||.01<Math.abs(de.hfov))(function(){if(V){var e,t=!1,o=W.pitch,n=W.yaw,a=W.hfov;e="undefined"!=typeof performance&&performance.now()?performance.now():Date.now(),J===Fe&&(J=e);var i=(e-J)*W.hfov/1700;if(i=Math.min(i,1),le[0]&&!0===W.keyboardZoom&&(U(W.hfov+(.8*de.hfov+.5)*i),t=!0),le[1]&&!0===W.keyboardZoom&&(U(W.hfov+(.8*de.hfov-.2)*i),t=!0),(le[2]||le[6])&&(W.pitch+=(.8*de.pitch+.2)*i,t=!0),(le[3]||le[7])&&(W.pitch+=(.8*de.pitch-.2)*i,t=!0),(le[4]||le[8])&&(W.yaw+=(.8*de.yaw-.2)*i,t=!0),(le[5]||le[9])&&(W.yaw+=(.8*de.yaw+.2)*i,t=!0),t&&(oe=Date.now()),Date.now(),W.autoRotate){if(.001<e-J){t=(e-J)/1e3;var r=(de.yaw/t*i-.2*W.autoRotate)*t;r=(0<-W.autoRotate?1:-1)*Math.min(Math.abs(W.autoRotate*t),Math.abs(r)),W.yaw+=r}W.autoRotateStopDelay&&(W.autoRotateStopDelay-=e-J,W.autoRotateStopDelay<=0&&(W.autoRotateStopDelay=!1,ve=W.autoRotate,W.autoRotate=0))}ge.pitch&&(M("pitch"),o=W.pitch),ge.yaw&&(M("yaw"),n=W.yaw),ge.hfov&&(M("hfov"),a=W.hfov),0<i&&!W.autoRotate&&(le[4]||le[5]||le[8]||le[9]||ge.yaw||(W.yaw+=de.yaw*i*.85),le[2]||le[3]||le[6]||le[7]||ge.pitch||(W.pitch+=de.pitch*i*.85),le[0]||le[1]||ge.hfov||U(W.hfov+de.hfov*i*.85)),J=e,0<i&&(de.yaw=.8*de.yaw+(W.yaw-n)/i*.2,de.pitch=.8*de.pitch+(W.pitch-o)/i*.2,de.hfov=.8*de.hfov+(W.hfov-a)/i*.2,o=W.autoRotate?Math.abs(W.autoRotate):5,de.yaw=Math.min(o,Math.max(de.yaw,-o)),de.pitch=Math.min(o,Math.max(de.pitch,-o)),de.hfov=Math.min(o,Math.max(de.hfov,-o))),le[0]&&le[0]&&(de.hfov=0),(le[2]||le[6])&&(le[3]||le[7])&&(de.pitch=0),(le[4]||le[8])&&(le[5]||le[9])&&(de.yaw=0)}})(),0<=W.autoRotateInactivityDelay&&ve&&Date.now()-oe>W.autoRotateInactivityDelay&&!W.autoRotate&&(W.autoRotate=ve,ee.lookAt($,Fe,Q,3e3)),requestAnimationFrame(_);else if(q&&(q.isLoading()||!0===W.dynamic&&be))requestAnimationFrame(_);else{fe=!1,J=Fe;var e=W.autoRotateInactivityDelay-(Date.now()-oe);0<e?K=setTimeout(function(){W.autoRotate=ve,ee.lookAt($,Fe,Q,3e3),R()},e):0<=W.autoRotateInactivityDelay&&ve&&(W.autoRotate=ve,ee.lookAt($,Fe,Q,3e3),R())}}function T(e,t,o,n){this.w=e,this.x=t,this.y=o,this.z=n}function L(e){var t;t=e.alpha;var o=e.beta;e=e.gamma,o=[o?o*Math.PI/180/2:0,e?e*Math.PI/180/2:0,t?t*Math.PI/180/2:0],t=[Math.cos(o[0]),Math.cos(o[1]),Math.cos(o[2])],o=[Math.sin(o[0]),Math.sin(o[1]),Math.sin(o[2])],t=(t=new T(t[0]*t[1]*t[2]-o[0]*o[1]*o[2],o[0]*t[1]*t[2]-t[0]*o[1]*o[2],t[0]*o[1]*t[2]+o[0]*t[1]*o[2],t[0]*t[1]*o[2]+o[0]*o[1]*t[2])).multiply(new T(Math.sqrt(.5),-Math.sqrt(.5),0,0)),o=Oe.orientation?-Oe.orientation*Math.PI/180/2:0,t=t.multiply(new T(Math.cos(o),0,-Math.sin(o),0)).toEulerAngles(),"number"==typeof me&&me<10?me+=1:10===me?(pe=t[2]/Math.PI*180+W.yaw,me=!0,requestAnimationFrame(_)):(W.pitch=t[0]/Math.PI*180,W.roll=-t[1]/Math.PI*180,W.yaw=-t[2]/Math.PI*180+pe)}function C(){if(W.sceneFadeDuration&&q.fadeImg!==Fe){q.fadeImg.style.opacity=0;var e=q.fadeImg;delete q.fadeImg,setTimeout(function(){Re.removeChild(e),X("scenechangefadedone")},W.sceneFadeDuration)}Se.style.display=W.compass?"inline":"none",xe||(W.hotSpots?(W.hotSpots=W.hotSpots.sort(function(e,t){return e.pitch<t.pitch}),W.hotSpots.forEach(I)):W.hotSpots=[],xe=!0,W.hotSpots.forEach(A)),Le.load.box.style.display="none",Z!==Fe&&(Re.removeChild(Z),Z=Fe),V=!0,X("load"),R()}function I(t){t.pitch=Number(t.pitch)||0,t.yaw=Number(t.yaw)||0;var e=Ue.createElement("div");e.className="pnlm-hotspot-base",e.className=t.cssClass?e.className+" "+t.cssClass:e.className+" pnlm-hotspot pnlm-sprite pnlm-"+Y(t.type);var o,n=Ue.createElement("span");if(t.text&&(n.innerHTML=Y(t.text)),t.video){o=Ue.createElement("video");var a=t.video;W.basePath&&!r(a)&&(a=W.basePath+a),o.src=encodeURI(a),o.controls=!0,o.style.width=t.width+"px",Re.appendChild(e),n.appendChild(o)}else if(t.image){a=t.image,W.basePath&&!r(a)&&(a=W.basePath+a),(o=Ue.createElement("a")).href=encodeURI(t.URL?t.URL:a),o.target="_blank",n.appendChild(o);var i=Ue.createElement("img");i.src=encodeURI(a),i.style.width=t.width+"px",i.style.paddingTop="5px",Re.appendChild(e),o.appendChild(i),n.style.maxWidth="initial"}else t.URL?((o=Ue.createElement("a")).href=encodeURI(t.URL),o.target="_blank",Re.appendChild(o),e.style.cursor="pointer",n.style.cursor="pointer",o.appendChild(e)):(t.sceneId&&(e.onclick=e.ontouchend=function(){return e.clicked||(e.clicked=!0,z(t.sceneId,t.targetPitch,t.targetYaw,t.targetHfov)),!1},e.style.cursor="pointer",n.style.cursor="pointer"),Re.appendChild(e));t.createTooltipFunc?t.createTooltipFunc(e,t.createTooltipArgs):(t.text||t.video||t.image)&&(e.classList.add("pnlm-tooltip"),e.appendChild(n),n.style.width=n.scrollWidth-20+"px",n.style.marginLeft=-(n.scrollWidth-e.offsetWidth)/2+"px",n.style.marginTop=-n.scrollHeight-12+"px"),t.clickHandlerFunc&&(e.addEventListener("click",function(e){t.clickHandlerFunc(e,t.clickHandlerArgs)},"false"),e.style.cursor="pointer",n.style.cursor="pointer"),t.div=e}function A(e){var t=Math.sin(e.pitch*Math.PI/180),o=Math.cos(e.pitch*Math.PI/180),n=Math.sin(W.pitch*Math.PI/180),a=Math.cos(W.pitch*Math.PI/180),i=Math.cos((-e.yaw+W.yaw)*Math.PI/180),r=t*n+o*i*a;if(e.yaw<=90&&-90<e.yaw&&r<=0||(90<e.yaw||e.yaw<=-90)&&r<=0)e.div.style.visibility="hidden";else{var s=Math.sin((-e.yaw+W.yaw)*Math.PI/180),l=Math.tan(W.hfov*Math.PI/360);e.div.style.visibility="visible";var h=(c=q.getCanvas()).clientWidth,c=c.clientHeight;t=[-h/l*s*o/r/2,-h/l*(t*a-o*i*n)/r/2],o=Math.sin(W.roll*Math.PI/180),n=Math.cos(W.roll*Math.PI/180),(t=[t[0]*n-t[1]*o,t[0]*o+t[1]*n])[0]+=(h-e.div.offsetWidth)/2,t[1]+=(c-e.div.offsetHeight)/2,h="translate("+t[0]+"px, "+t[1]+"px) translateZ(9999px) rotate("+W.roll+"deg)",e.div.style.webkitTransform=h,e.div.style.MozTransform=h,e.div.style.transform=h}}function k(e){W={};var t,o,n="haov vaov vOffset northOffset horizonPitch horizonRoll".split(" ");for(t in we=[],Ee)Ee.hasOwnProperty(t)&&(W[t]=Ee[t]);for(t in s.default)if(s.default.hasOwnProperty(t))if("strings"==t)for(o in s.default.strings)s.default.strings.hasOwnProperty(o)&&(W.strings[o]=Y(s.default.strings[o]));else W[t]=s.default[t],0<=n.indexOf(t)&&we.push(t);if(null!==e&&""!==e&&s.scenes&&s.scenes[e]){var a=s.scenes[e];for(t in a)if(a.hasOwnProperty(t))if("strings"==t)for(o in a.strings)a.strings.hasOwnProperty(o)&&(W.strings[o]=Y(a.strings[o]));else W[t]=a[t],0<=n.indexOf(t)&&we.push(t);W.scene=e}for(t in s)if(s.hasOwnProperty(t))if("strings"==t)for(o in s.strings)s.strings.hasOwnProperty(o)&&(W.strings[o]=Y(s.strings[o]));else W[t]=s[t],0<=n.indexOf(t)&&we.push(t)}function S(e){if((e=e||!1)&&"preview"in W){var t=W.preview;W.basePath&&!r(t)&&(t=W.basePath+t),(Z=Ue.createElement("div")).className="pnlm-preview-img",Z.style.backgroundImage="url('"+encodeURI(t)+"')",Re.appendChild(Z)}t=W.title;var o=W.author;for(var n in e&&("previewTitle"in W&&(W.title=W.previewTitle),"previewAuthor"in W&&(W.author=W.previewAuthor)),W.hasOwnProperty("title")||(Le.title.innerHTML=""),W.hasOwnProperty("author")||(Le.author.innerHTML=""),W.hasOwnProperty("title")||W.hasOwnProperty("author")||(Le.container.style.display="none"),Ie.load.innerHTML="<p>"+W.strings.loadButtonLabel+"</p>",Le.load.boxp.innerHTML=W.strings.loadingLabel,W)if(W.hasOwnProperty(n))switch(n){case"title":Le.title.innerHTML=Y(W[n]),Le.container.style.display="inline";break;case"author":Le.author.innerHTML=W.strings.bylineLabel.replace("%s",Y(W[n])),Le.container.style.display="inline";break;case"fallback":Le.errorMsg.innerHTML='<p>Your browser does not support WebGL.<br><a href="'+encodeURI(W[n])+'" target="_blank">Click here to view this panorama in an alternative viewer.</a></p>';break;case"hfov":U(Number(W[n]));break;case"autoLoad":!0===W[n]&&q===Fe&&(Le.load.box.style.display="inline",Ie.load.style.display="none",a());break;case"showZoomCtrl":Ie.zoom.style.display=W[n]&&0!=W.showControls?"block":"none";break;case"showFullscreenCtrl":Ie.fullscreen.style.display=W[n]&&0!=W.showControls&&("fullscreen"in Ue||"mozFullScreen"in Ue||"webkitIsFullScreen"in Ue||"msFullscreenElement"in Ue)?"block":"none";break;case"hotSpotDebug":Ce.style.display=W[n]?"block":"none";break;case"showControls":W[n]||(Ie.orientation.style.display="none",Ie.zoom.style.display="none",Ie.fullscreen.style.display="none");break;case"orientationOnByDefault":W[n]&&(Ae===Fe?ke=!0:!0===Ae&&G())}e&&(t?W.title=t:delete W.title,o?W.author=o:delete W.author)}function D(){if(V&&!ce)if(he)Ue.exitFullscreen?Ue.exitFullscreen():Ue.mozCancelFullScreen?Ue.mozCancelFullScreen():Ue.webkitCancelFullScreen?Ue.webkitCancelFullScreen():Ue.msExitFullscreen&&Ue.msExitFullscreen();else try{n.requestFullscreen?n.requestFullscreen():n.mozRequestFullScreen?n.mozRequestFullScreen():n.msRequestFullscreen?n.msRequestFullscreen():n.webkitRequestFullScreen()}catch(e){}}function N(){he=Ue.fullscreen||Ue.mozFullScreen||Ue.webkitIsFullScreen||Ue.msFullscreenElement?(Ie.fullscreen.classList.add("pnlm-fullscreen-toggle-button-active"),!0):(Ie.fullscreen.classList.remove("pnlm-fullscreen-toggle-button-active"),!1),q.resize(),U(W.hfov),R()}function O(e){var t=W.minHfov;return"multires"==W.type&&q&&(t=Math.min(t,q.getCanvas().width/(W.multiRes.cubeResolution/90*.9))),t>
1W.maxHfov?(console.log("HFOV bounds do not make sense (minHfov > maxHfov)."),W.hfov):e<t?t:e>W.maxHfov?W.maxHfov:e}function U(e){W.hfov=O(e)}function F(){ge={},ve=W.autoRotate?W.autoRotate:ve,W.autoRotate=!1}function B(){ce&&(Le.load.box.style.display="none",Le.errorMsg.style.display="none",ce=!1,X("errorcleared")),V=!1,Ie.load.style.display="none",Le.load.box.style.display="inline",a()}function z(e,t,o,n,a){var i,r;if(V=!1,ge={},W.sceneFadeDuration&&!a&&(i=q.render(W.pitch*Math.PI/180,W.yaw*Math.PI/180,W.hfov*Math.PI/180,{returnImage:!0}))!==Fe)return(a=new Image).className="pnlm-fade-img",a.style.transition="opacity "+W.sceneFadeDuration/1e3+"s",a.style.width="100%",a.style.height="100%",a.onload=function(){z(e,t,o,n,!0)},a.src=i,Re.appendChild(a),void(q.fadeImg=a);a="same"===t?W.pitch:t,i="same"===o?W.yaw:"sameAzimuth"===o?W.yaw+(W.northOffset||0)-(s.scenes[e].northOffset||0):o,r="same"===n?W.hfov:n,function(){var e=W.hotSpots;if(xe=!1,delete W.hotSpots,e)for(var t=0;t<e.length;t++){for(var o=e[t].div;o.parentNode!=Re;)o=o.parentNode;Re.removeChild(o),delete e[t].div}}(),k(e),de.yaw=de.pitch=de.hfov=0,S(),a!==Fe&&(W.pitch=a),i!==Fe&&(W.yaw=i),r!==Fe&&(W.hfov=r),X("scenechange",e),B()}function H(){Oe.removeEventListener("deviceorientation",L),Ie.orientation.classList.remove("pnlm-orientation-button-active"),me=!1}function G(){me=1,Oe.addEventListener("deviceorientation",L),Ie.orientation.classList.add("pnlm-orientation-button-active")}function Y(e){return s.escapeHTML?String(e).split(/&/g).join("&amp;").split('"').join("&quot;").split("'").join("&#39;").split("<").join("&lt;").split(">").join("&gt;").split("/").join("&#x2f;").split("\n").join("<br>"):String(e).split("\n").join("<br>")}function X(e){if(e in ye)for(var t=ye[e].length;0<t;t--)ye[e][ye[e].length-t].apply(null,[].slice.call(arguments,1))}var W,q,Z,V,j,J,K,Q,$,ee=this,te=!1,oe=Date.now(),ne=0,ae=0,ie=-1,re=0,se=0,le=Array(10),he=!1,ce=!1,ue=!1,de={yaw:0,pitch:0,hfov:0},fe=!1,me=!1,pe=0,ve=0,ge={},ye={},we=[],be=!1,xe=!1,Ee={hfov:100,minHfov:50,maxHfov:120,pitch:0,minPitch:Fe,maxPitch:Fe,yaw:0,minYaw:-180,maxYaw:180,roll:0,haov:360,vaov:180,vOffset:0,autoRotate:!1,autoRotateInactivityDelay:-1,autoRotateStopDelay:Fe,type:"equirectangular",northOffset:0,showFullscreenCtrl:!0,dynamic:!1,doubleClickZoom:!0,keyboardZoom:!0,mouseZoom:!0,showZoomCtrl:!0,autoLoad:!1,showControls:!0,orientationOnByDefault:!1,hotSpotDebug:!1,backgroundColor:[0,0,0],animationTimingFunction:function(e){return e<.5?2*e*e:(4-2*e)*e-1},draggable:!0,disableKeyboardCtrl:!1,crossOrigin:"anonymous",strings:{loadButtonLabel:"Click to<br>Load<br>Panorama",loadingLabel:"Loading...",bylineLabel:"by %s",noPanoramaError:"No panorama image was specified.",fileAccessError:"The file %s could not be accessed.",malformedURLError:"There is something wrong with the panorama URL.",iOS8WebGLError:"Due to iOS 8's broken WebGL implementation, only progressive encoded JPEGs work for your device (this panorama uses standard encoding).",genericWebGLError:"Your browser does not have the necessary WebGL support to display this panorama.",textureSizeError:"This panorama is too big for your device! It's %spx wide, but your device only supports images up to %spx wide. Try another device. (If you're the author, try scaling down the image.)",unknownError:"Unknown error. Check developer console."}},Me=[16,17,27,37,38,39,40,61,65,68,83,87,107,109,173,187,189];(n="string"==typeof n?Ue.getElementById(n):n).classList.add("pnlm-container"),n.tabIndex=0;var Pe=Ue.createElement("div");Pe.className="pnlm-ui",n.appendChild(Pe);var Re=Ue.createElement("div");Re.className="pnlm-render-container",n.appendChild(Re);var _e=Ue.createElement("div");_e.className="pnlm-dragfix",Pe.appendChild(_e);var Te=Ue.createElement("span");Te.className="pnlm-about-msg",Te.innerHTML='<a href="https://pannellum.org/" target="_blank">Pannellum</a> 2.4.1',Pe.appendChild(Te),_e.addEventListener("contextmenu",function e(t){var o=h(t);Te.style.left=o.x+"px",Te.style.top=o.y+"px",clearTimeout(e.t1),clearTimeout(e.t2),Te.style.display="block",Te.style.opacity=1,e.t1=setTimeout(function(){Te.style.opacity=0},2e3),e.t2=setTimeout(function(){Te.style.display="none"},2500),t.preventDefault()});var Le={},Ce=Ue.createElement("div");Ce.className="pnlm-sprite pnlm-hot-spot-debug-indicator",Pe.appendChild(Ce),Le.container=Ue.createElement("div"),Le.container.className="pnlm-panorama-info",Le.title=Ue.createElement("div"),Le.title.className="pnlm-title-box",Le.container.appendChild(Le.title),Le.author=Ue.createElement("div"),Le.author.className="pnlm-author-box",Le.container.appendChild(Le.author),Pe.appendChild(Le.container),Le.load={},Le.load.box=Ue.createElement("div"),Le.load.box.className="pnlm-load-box",Le.load.boxp=Ue.createElement("p"),Le.load.box.appendChild(Le.load.boxp),Le.load.lbox=Ue.createElement("div"),Le.load.lbox.className="pnlm-lbox",Le.load.lbox.innerHTML='<div class="pnlm-loading"></div>',Le.load.box.appendChild(Le.load.lbox),Le.load.lbar=Ue.createElement("div"),Le.load.lbar.className="pnlm-lbar",Le.load.lbarFill=Ue.createElement("div"),Le.load.lbarFill.className="pnlm-lbar-fill",Le.load.lbar.appendChild(Le.load.lbarFill),Le.load.box.appendChild(Le.load.lbar),Le.load.msg=Ue.createElement("p"),Le.load.msg.className="pnlm-lmsg",Le.load.box.appendChild(Le.load.msg),Pe.appendChild(Le.load.box),Le.errorMsg=Ue.createElement("div"),Le.errorMsg.className="pnlm-error-msg pnlm-info-box",Pe.appendChild(Le.errorMsg);var Ie={};Ie.container=Ue.createElement("div"),Ie.container.className="pnlm-control
1s-container",Pe.appendChild(Ie.container),Ie.load=Ue.createElement("div"),Ie.load.className="pnlm-load-button",Ie.load.addEventListener("click",function(){S(),B()}),Pe.appendChild(Ie.load),Ie.zoom=Ue.createElement("div"),Ie.zoom.className="pnlm-zoom-controls pnlm-controls",Ie.zoomIn=Ue.createElement("div"),Ie.zoomIn.className="pnlm-zoom-in pnlm-sprite pnlm-control",Ie.zoomIn.addEventListener("click",function(){V&&(U(W.hfov-5),R())}),Ie.zoom.appendChild(Ie.zoomIn),Ie.zoomOut=Ue.createElement("div"),Ie.zoomOut.className="pnlm-zoom-out pnlm-sprite pnlm-control",Ie.zoomOut.addEventListener("click",function(){V&&(U(W.hfov+5),R())}),Ie.zoom.appendChild(Ie.zoomOut),Ie.container.appendChild(Ie.zoom),Ie.fullscreen=Ue.createElement("div"),Ie.fullscreen.addEventListener("click",D),Ie.fullscreen.className="pnlm-fullscreen-toggle-button pnlm-sprite pnlm-fullscreen-toggle-button-inactive pnlm-controls pnlm-control",(Ue.fullscreenEnabled||Ue.mozFullScreenEnabled||Ue.webkitFullscreenEnabled||Ue.msFullscreenEnabled)&&Ie.container.appendChild(Ie.fullscreen),Ie.orientation=Ue.createElement("div"),Ie.orientation.addEventListener("click",function(e){(me?H:G)()}),Ie.orientation.addEventListener("mousedown",function(e){e.stopPropagation()}),Ie.orientation.addEventListener("touchstart",function(e){e.stopPropagation()}),Ie.orientation.addEventListener("pointerdown",function(e){e.stopPropagation()});var Ae,ke=!(Ie.orientation.className="pnlm-orientation-button pnlm-orientation-button-inactive pnlm-sprite pnlm-controls pnlm-control");Oe.DeviceOrientationEvent?Oe.addEventListener("deviceorientation",function e(t){Oe.removeEventListener("deviceorientation",e),t&&null!==t.alpha&&null!==t.beta&&null!==t.gamma?(Ie.container.appendChild(Ie.orientation),Ae=!0,ke&&G()):Ae=!1}):Ae=!1;var Se=Ue.createElement("div");Se.className="pnlm-compass pnlm-controls pnlm-control",Pe.appendChild(Se),s.firstScene?k(s.firstScene):s.default&&s.default.firstScene?k(s.default.firstScene):k(null),S(!0);var De=[],Ne=[];T.prototype.multiply=function(e){return new T(this.w*e.w-this.x*e.x-this.y*e.y-this.z*e.z,this.x*e.w+this.w*e.x+this.y*e.z-this.z*e.y,this.y*e.w+this.w*e.y+this.z*e.x-this.x*e.z,this.z*e.w+this.w*e.z+this.x*e.y-this.y*e.x)},T.prototype.toEulerAngles=function(){return[Math.atan2(2*(this.w*this.x+this.y*this.z),1-2*(this.x*this.x+this.y*this.y)),Math.asin(2*(this.w*this.y-this.z*this.x)),Math.atan2(2*(this.w*this.z+this.x*this.y),1-2*(this.y*this.y+this.z*this.z))]},this.isLoaded=function(){return Boolean(V)},this.getPitch=function(){return W.pitch},this.setPitch=function(e,t,o,n){return(t=t==Fe?1e3:Number(t))?ge.pitch={startTime:Date.now(),startPosition:W.pitch,endPosition:e,duration:t,callback:o,callbackArgs:n}:W.pitch=e,R(),this},this.getPitchBounds=function(){return[W.minPitch,W.maxPitch]},this.setPitchBounds=function(e){return W.minPitch=Math.max(-90,Math.min(e[0],90)),W.maxPitch=Math.max(-90,Math.min(e[1],90)),this},this.getYaw=function(){return W.yaw},this.setYaw=function(e,t,o,n){return e=(e+180)%360-180,(t=t==Fe?1e3:Number(t))?(180<W.yaw-e?e+=360:180<e-W.yaw&&(e-=360),ge.yaw={startTime:Date.now(),startPosition:W.yaw,endPosition:e,duration:t,callback:o,callbackArgs:n}):W.yaw=e,R(),this},this.getYawBounds=function(){return[W.minYaw,W.maxYaw]},this.setYawBounds=function(e){return W.minYaw=Math.max(-180,Math.min(e[0],180)),W.maxYaw=Math.max(-180,Math.min(e[1],180)),this},this.getHfov=function(){return W.hfov},this.setHfov=function(e,t,o,n){return(t=t==Fe?1e3:Number(t))?ge.hfov={startTime:Date.now(),startPosition:W.hfov,endPosition:O(e),duration:t,callback:o,callbackArgs:n}:U(e),R(),this},this.getHfovBounds=function(){return[W.minHfov,W.maxHfov]},this.setHfovBounds=function(e){return W.minHfov=Math.max(0,e[0]),W.maxHfov=Math.max(0,e[1]),this},this.lookAt=function(e,t,o,n,a,i){return n=n==Fe?1e3:Number(n),e!==Fe&&(this.setPitch(e,n,a,i),a=Fe),t!==Fe&&(this.setYaw(t,n,a,i),a=Fe),o!==Fe&&this.setHfov(o,n,a,i),this},this.getNorthOffset=function(){return W.northOffset},this.setNorthOffset=function(e){return W.northOffset=Math.min(360,Math.max(0,e)),R(),this},this.getHorizonRoll=function(){return W.horizonRoll},this.setHorizonRoll=function(e){return W.horizonRoll=Math.min(90,Math.max(-90,e)),q.setPose(W.horizonPitch*M
vendor: 3,354 bytes, line 1
1ath.PI/180,W.horizonRoll*Math.PI/180),R(),this},this.getHorizonPitch=function(){return W.horizonPitch},this.setHorizonPitch=function(e){return W.horizonPitch=Math.min(90,Math.max(-90,e)),q.setPose(W.horizonPitch*Math.PI/180,W.horizonRoll*Math.PI/180),R(),this},this.startAutoRotate=function(e){return e=e||ve||1,W.autoRotate=e,ee.lookAt($,Fe,Q,3e3),R(),this},this.stopAutoRotate=function(){return ve=W.autoRotate?W.autoRotate:ve,W.autoRotate=!1,W.autoRotateInactivityDelay=-1,this},this.getRenderer=function(){return q},this.setUpdate=function(e){return be=!0===e,(q===Fe?l:R)(),this},this.mouseEventToCoords=function(e){return i(e)},this.loadScene=function(e,t,o,n){return!1!==V&&z(e,t,o,n),this},this.getScene=function(){return W.scene},this.addScene=function(e,t){return s.scenes[e]=t,this},this.removeScene=function(e){return!(W.scene===e||!s.scenes.hasOwnProperty(e)||(delete s.scenes[e],0))},this.toggleFullscreen=function(){return D(),this},this.getConfig=function(){return W},this.getContainer=function(){return n},this.addHotSpot=function(e,t){if(t===Fe&&W.scene===Fe)W.hotSpots.push(e);else{var o=t!==Fe?t:W.scene;if(!s.scenes.hasOwnProperty(o))throw"Invalid scene ID!";s.scenes[o].hasOwnProperty("hotSpots")||(s.scenes[o].hotSpots=[],o==W.scene&&(W.hotSpots=s.scenes[o].hotSpots)),s.scenes[o].hotSpots.push(e)}return t!==Fe&&W.scene!=t||(I(e),V&&A(e)),this},this.removeHotSpot=function(e){if(!W.hotSpots)return!1;for(var t=0;t<W.hotSpots.length;t++)if(W.hotSpots[t].hasOwnProperty("id")&&W.hotSpots[t].id===e){for(e=W.hotSpots[t].div;e.parentNode!=Re;)e=e.parentNode;return Re.removeChild(e),delete W.hotSpots[t].div,W.hotSpots.splice(t,1),!0}return!1},this.resize=function(){N()},this.isLoaded=function(){return V},this.isOrientationSupported=function(){return Ae||!1},this.stopOrientation=function(){H()},this.startOrientation=function(){Ae&&G()},this.isOrientationActive=function(){return Boolean(me)},this.on=function(e,t){return ye[e]=ye[e]||[],ye[e].push(t),this},this.off=function(e,t){if(!e)return ye={},this;if(t){var o=ye[e].indexOf(t);0<=o&&ye[e].splice(o,1),0==ye[e].length&&delete ye[e]}else delete ye[e];return this},this.destroy=function(){q&&q.destroy(),ue&&(_e.removeEventListener("mousedown",e,!1),_e.removeEventListener("dblclick",t,!1),Ue.removeEventListener("mousemove",o,!1),Ue.removeEventListener("mouseup",c,!1),n.removeEventListener("mousewheel",y,!1),n.removeEventListener("DOMMouseScroll",y,!1),n.removeEventListener("mozfullscreenchange",N,!1),n.removeEventListener("webkitfullscreenchange",N,!1),n.removeEventListener("msfullscreenchange",N,!1),n.removeEventListener("fullscreenchange",N,!1),Oe.removeEventListener("resize",P,!1),Oe.removeEventListener("orientationchange",P,!1),n.removeEventListener("keydown",w,!1),n.removeEventListener("keyup",x,!1),n.removeEventListener("blur",b,!1),Ue.removeEventListener("mouseleave",c,!1),_e.removeEventListener("touchstart",d,!1),_e.removeEventListener("touchmove",f,!1),_e.removeEventListener("touchend",m,!1),_e.removeEventListener("pointerdown",p,!1),_e.removeEventListener("pointermove",v,!1),_e.removeEventListener("pointerup",g,!1),_e.removeEventListener("pointerleave",g,!1)),n.innerHTML="",n.classList.remove("pnlm-container"),Pe.classList.remove("pnlm-grab"),Pe.classList.remove("pnlm-grabbing")}}return{viewer:function(e,t){return new o(e,t)}}}(window,document);

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.