Skip to content

Instantly share code, notes, and snippets.

@robcee
Created September 9, 2011 15:59
Show Gist options
  • Save robcee/1206588 to your computer and use it in GitHub Desktop.
Save robcee/1206588 to your computer and use it in GitHub Desktop.
Tilt reprettified
'use strict';
var f = void 0,
k = null;
function aa() {
return function() {}
}
function ca(a) {
return function(b) {
this[a] = b
}
}
function N(a) {
return function() {
return this[a]
}
}
var R,
TiltChrome = TiltChrome || {};
TiltChrome.BrowserOverlay = {
href: k,
canvas: k,
n: k,
D: k,
I: k,
initialize: function() {
this.d(!0);
if (this.href === window.content.location.href) this.href = k;
else {
this.href = window.content.location.href;
this.D = {
C: document.getElementById("tilt-sourceeditor"),
title: document.getElementById("tilt-sourceeditor-title"),
Pa: document.getElementById("tilt-sourceeditor-iframe")
};
this.I = {
C: document.getElementById("tilt-colorpicker"),
Pa: document.getElementById("tilt-colorpicker-iframe")
};
this.D.refresh = this.D.Pa.contentWindow.refreshCodeEditor;
this.I.refresh = this.I.Pa.contentWindow.refreshColorPicker;
gBrowser.selectedBrowser.markupDocumentViewer.fullZoom = 1;
var a = window.content.innerWidth,
b = window.content.innerHeight;
S.G.ob = document.getElementById("tilt-iframe").contentDocument;
S.G.Ka = gBrowser.selectedBrowser.parentNode;
this.canvas = S.G.Ra(a, b, !0);
this.n = new TiltChrome.Ob(this.canvas, new TiltChrome.zd.Oe, new TiltChrome.c.Ne)
}
},
d: function(a, b) {
S.G.ob = k;
S.G.Ka = k;
if (this.canvas !== k) this.canvas.parentNode.removeChild(this.canvas),
this.canvas =
k;
var c = function() {
if (this.n !== k) this.n.d(),
this.n = k;
if (this.D !== k) this.D.C.hidePopup(),
this.D.C = k,
this.D.title = k,
this.D = this.D.Pa = k;
if (this.I !== k) this.I.C.hidePopup(),
this.I.C = k,
this.I = this.I.Pa = k;
S.q.log();
S.q.reset();
a && window.setTimeout(function() {
this.Xb()
}.bind(this), 100)
}.bind(this);
b ? window.setTimeout(function() {
c()
},
100) : c()
},
Xb: function() {
window.QueryInterface(Ci.nsIInterfaceRequestor).getInterface(Ci.nsIDOMWindowUtils).garbageCollect()
}
};
var S = S || {};
S.xd = function(a, b, c) {
S.q.u("Tilt.Arcball", this);
this.eb = [0, 0];
this.Ib = [0, 0];
this.Hb = [0, 0];
this.ld = [0, 0];
this.Ea = -1;
this.Fa = 0;
this.He = 1;
this.Ge = -3E3;
this.Fe = 500;
this.fc = [];
this.rd = Y();
this.ye = Y();
this.Ae = Y();
this.gc = ea([0, 0, 0, 1]);
this.ad = ea([0, 0, 0, 1]);
this.cc = ea([0, 0, 0, 1]);
this.jd = Y();
this.bd = Y();
this.$c = Y();
this.Bb = [0, 0];
this.Cb = [0, 0];
this.ve = ea([0, 0, 0, 1]);
this.we = Y();
this.pa(a, b, c)
};
S.xd.prototype = {
loop: function(a) {
var a = S.h.M((a || 25) * 0.01, 0.01, 0.99),
b,
c,
d = this.nd,
g = this.o,
h = this.k,
i = this.eb,
j = this.Ib,
l = this.Hb;
c = this.ld;
var n = this.Ea,
p = this.Fa,
s = this.fc,
x = this.rd,
z = this.ye,
y = this.Ae,
F = this.gc,
t = this.ad,
q = this.cc,
w = this.jd,
r = this.bd,
u = this.$c,
A = this.Bb,
D = this.Cb,
m = this.ve,
E = this.we;
c[0] += (l[0] - c[0]) * a;
c[1] += (l[1] - c[1]) * a;
b = c[0];
c = c[1];
if (n === 3 || b === j[0] && c === j[1]) this.od = !1;
n === 1 || this.od ? (this.od = !0, this.ge(b, c, g, h, d, z), ka(x, z, y), ma(y) > 0 ? (t[0] = y[0], t[1] = y[1], t[2] = y[2], t[3] =
-oa(x, z)) : (t[0] = 0, t[1] = 0, t[2] = 0, t[3] = 1), pa(F, t, q)) : qa(q, F);
n === 3 ? (r[0] = l[0] - i[0], r[1] = l[1] - i[1], u[0] = w[0] + r[0], u[1] = w[1] + r[1]) : (w[0] = u[0], w[1] = u[1]);
r[2] = (p - u[2]) * 0.1;
u[2] += r[2];
s[65] && (A[0] -= a * 0.2);
s[68] && (A[0] += a * 0.2);
s[87] && (A[1] += a * 0.2);
s[83] && (A[1] -= a * 0.2);
s[37] && (D[0] += a * 50);
s[39] && (D[0] -= a * 50);
s[38] && (D[1] += a * 50);
s[40] && (D[1] -= a * 50);
m[0] += (A[0] - m[0]) * a;
m[1] += (A[1] - m[1]) * a;
E[0] += (D[0] - E[0]) * a;
E[1] += (D[1] - E[1]) * a;
S.h.Kf(m[0], m[1], 0, t);
r[0] = E[0];
r[1] = E[1];
r[2] = 0;
return {
rotation: pa(t, q),
ea: ra(r,
u)
}
},
Gc: function(a, b, c) {
this.Za();
this.eb[0] = a;
this.eb[1] = b;
this.Ea = c;
this.jc();
this.ge(a, b, this.o, this.k, this.nd, this.rd);
qa(this.cc, this.gc)
},
Kc: function(a, b) {
this.Ib[0] = a;
this.Ib[1] = b;
this.Ea = -1
},
Hc: function(a, b) {
this.Ea !== -1 && (this.Hb[0] = a, this.Hb[1] = b)
},
Ic: function() {
this.Ea = -1
},
Jc: function(a) {
var b = this.He,
c = this.Ge,
d = this.Fe;
this.Za();
this.Fa = S.h.M(this.Fa - a * b, c, d)
},
Cc: function(a) {
this.Za();
this.fc[a] = !0
},
Dc: function(a) {
this.fc[a] = !1
},
ge: function(a, b, c, d, g, h) {
a = (a - c * 0.5) / g;
b = (b - d * 0.5) / g;
c =
0;
c = a * a + b * b;
c > 1 ? (c = 1 / Math.sqrt(c), h[0] = a * c, h[1] = b * c, h[2] = 0) : (h[0] = a, h[1] = b, h[2] = Math.sqrt(1 - c))
},
pa: function(a, b, c) {
this.o = a;
this.k = b;
this.nd = "undefined" !== typeof c ? c: b;
this.jc()
},
translate: function(a, b) {
this.Cb[0] += a;
this.Cb[1] += b
},
rotate: function(a, b) {
this.Bb[0] += a;
this.Bb[1] += b
},
zoom: function(a) {
this.Fa += a
},
stop: function() {
this.Za();
this.jc();
this.Ea = -1
},
reset: function(a) {
var b = this.Fa,
c = this.gc,
d = this.ad,
g = this.cc,
h = this.jd,
i = this.bd,
j = this.$c,
l = this.Bb,
n = this.Cb;
this.Ie(function() {
c[0] *= -1;
c[1] *=
-1;
c[2] *= -1;
sa(c, c, 1 - a);
sa(d, c, 1 - a);
sa(g, c, 1 - a);
va(h, a);
va(i, a);
va(j, a);
l[0] *= a;
l[1] *= a;
n[0] *= a;
n[1] *= a;
this.Fa *= a;
ma(c) < 1.0E-4 && ma(d) < 1.0E-4 && ma(g) < 1.0E-4 && ma(h) < 0.01 && ma(i) < 0.01 && ma(j) < 0.01 && ma([l[0], l[1], b]) < 0.01 && ma([n[0], n[1], b]) < 0.01 && this.Za()
}.bind(this), 1E3 / 60)
},
Ie: function(a, b) {
if ("undefined" === typeof this.Eb) this.Eb = window.setInterval(a, b)
},
Za: function() {
"undefined" !== typeof this.Eb && (window.clearInterval(this.Eb), delete this.Eb)
},
jc: function() {
var a = this.Hb,
b = this.Ib,
c = this.ld,
d = this.eb[0],
g = this.eb[1];
a[0] = d;
a[1] = g;
b[0] = d;
b[1] = g;
c[0] = d;
c[1] = g
},
d: function() {
this.stop();
S.w(this)
}
};
S = S || {};
S.U = function(a, b, c) {
S.q.u("Tilt.VertexBuffer", this);
this.Q = this.j = k;
this.aa = this.Vb = 0;
"undefined" !== typeof a && this.Ac(a, b, c)
};
S.U.prototype = {
Ac: function(a, b, c) {
var d = S.B;
"undefined" === typeof c && (c = a.length / b);
this.Q = new Float32Array(a);
this.j = d.createBuffer();
d.bindBuffer(d.ARRAY_BUFFER, this.j);
d.bufferData(d.ARRAY_BUFFER, this.Q, d.STATIC_DRAW);
this.Vb = b;
this.aa = c
},
d: function() {
try {
S.B.deleteBuffer(this.j)
} catch(a) {}
S.w(this)
}
};
S.jb = function(a, b) {
S.q.u("Tilt.IndexBuffer", this);
this.Q = this.j = k;
this.aa = this.Vb = 0;
"undefined" !== typeof a && this.Ac(a, b)
};
S.jb.prototype = {
Ac: function(a, b) {
var c = S.B;
if ("undefined" === typeof b) b = a.length;
this.Q = new Uint16Array(a);
this.j = c.createBuffer();
c.bindBuffer(c.ELEMENT_ARRAY_BUFFER, this.j);
c.bufferData(c.ELEMENT_ARRAY_BUFFER, this.Q, c.STATIC_DRAW);
this.Vb = 1;
this.aa = b
},
d: function() {
try {
S.B.deleteBuffer(this.j)
} catch(a) {}
S.w(this)
}
};
S = S || {};
S.B = k;
S.V = k;
S.Ab = -1;
S.Fb = -1;
S.cb = {};
S.sc = function() {
S.w(S.B);
S.w(S.V);
S.w(S.Ab);
S.w(S.Fb);
S.w(S.cb);
S.B = k;
S.V = k;
S.Ab = -1;
S.Fb = -1;
S.cb = {};
S.Cd.$a = 0;
S.pc.$a = 0
};
S = S || {};
S.w = function(a) {
for (var b in a) try {
"function" === typeof a[b].d && a[b].d()
} catch(c) {} finally {
try {
a[b] = k
} catch(d) {}
delete a[b]
}
};
S = S || {};
S.q = {
enabled: !1,
wa: [],
u: function(a, b, c, d, g, h) {
if (this.enabled) {
var i,
j,
l;
if (c) {
if ("undefined" === typeof d && (d = this.Se.bind(this)), "undefined" === typeof g && (g = this.Qe.bind(this)), "undefined" === typeof h && (h = this.bf.bind(this)), i = b[c], "function" === typeof i) j = this.wa.length,
this.wa[j] = {
name: (a + "." || "") + c,
nb: 0,
lb: 0,
ya: 0,
Ya: 0
},
b[c] = function() {
try {
return d(j),
h(b, i, arguments)
} finally {
g(j)
}
}
} else for (l in b)"function" === typeof b[l] && this.u(a, b, l, d, g, h)
}
},
Se: function(a) {
if ("undefined" !== typeof this.wa[a]) this.wa[a].currentTime =
(new Date).getTime()
},
Qe: function(a) {
a = this.wa[a];
if ("undefined" !== typeof a) {
var b = (new Date).getTime() - a.currentTime;
a.nb++;
a.ya = Math.max(a.ya, b);
a.lb = (a.ya + b) * 0.5;
a.Ya += b
}
},
bf: function(a, b, c) {
return c.length === 0 ? b.call(a) : b.apply(a, c)
},
log: function() {
var a = this.wa.slice(0),
b,
c,
d,
g;
a.sort(function(a, b) {
return a.Ya < b.Ya ? 1: -1
});
for (b = 0; b < a.length; b++) {
d = a[b];
for (c = b + 1; c < a.length; c++) if (g = a[c], d.name === g.name) d.nb += g.nb,
d.ya = Math.max(d.ya, g.ya),
d.lb = (d.lb + g.lb) * 0.5,
d.Ya += g.Ya,
a.splice(c, 1),
c--;
d.nb !==
0 && S.ma.log("function " + d.name + "\ncalls " + d.nb + "\naverage " + d.lb + "ms\nlongest " + d.ya + "ms\ntotal " + d.Ya + "ms")
}
},
reset: function() {
this.wa = []
}
};
S = S || {};
S.Nb = function(a, b) {
S.q.u("Tilt.Program", this);
this.j = k;
this.bb = -1;
this.ib = this.sa = k;
this.Db = {};
this.ud = {};
arguments.length === 2 && this.rf(a, b)
};
S.Nb.prototype = {
rf: function(a, b) {
this.j = S.Cd.create(a, b);
this.bb = this.j.id;
this.sa = this.j.attributes;
this.ib = this.j.Ca;
this.j.id = k;
this.j.attributes = k;
this.j.Ca = k;
delete this.j.id;
delete this.j.attributes;
delete this.j.Ca
},
Xc: function() {
var a = this.bb,
b;
if (S.Ab !== a && (S.Ab = a, a = S.B, a.useProgram(this.j), this.Ve(), S.Fb < this.sa.length)) for (b in S.Fb = this.sa.length, this.sa) this.sa.hasOwnProperty(b) && b !== "length" && a.enableVertexAttribArray(this.sa[b])
},
Ja: function(a, b) {
var c = S.B,
d = this.sa[a],
g = b.Vb;
c.bindBuffer(c.ARRAY_BUFFER,
b.j);
c.vertexAttribPointer(d, g, c.FLOAT, !1, 0, 0)
},
Ia: function(a, b) {
var c = this.Db,
d = (b[0] + b[1] + b[2]) * (b[4] + b[5] + b[6]) * (b[8] + b[9] + b[10]) * (b[12] + b[13] + b[14]);
c[a] !== d && (c[a] = d, S.B.uniformMatrix4fv(this.ib[a], !1, b))
},
rc: function(a, b) {
var c = this.Db,
d = b[3] * 255 << 24 | b[0] * 255 << 16 | b[1] * 255 << 8 | b[2] * 255;
c[a] !== d && (c[a] = d, S.B.uniform4fv(this.ib[a], b))
},
Te: function(a, b) {
var c = this.Db;
c[a] !== b && (c[a] = b, S.B.uniform1f(this.ib[a], b))
},
bindTexture: function(a, b) {
var c = this.ud,
d = b.bb;
if (c[a] !== d) c[a] = d,
c = S.B,
c.bindTexture(c.TEXTURE_2D,
b.j),
c.uniform1i(this.ib[a], 0)
},
Ve: function() {
this.ud = {}
},
sc: function() {
this.Db = {}
},
d: function() {
try {
S.B.deleteShader(this.j)
} catch(a) {}
S.w(this)
}
};
S = S || {};
S.Cd = {
create: function(a, b) {
var c = this.compile(a, "x-shader/x-vertex"),
d = this.compile(b, "x-shader/x-fragment");
return this.link(c, d)
},
compile: function(a, b) {
var c = S.B,
d;
if ("string" !== typeof a || a.length < 1) return S.ma.error(S.fa.get("compileShader.source.error")),
k;
if (b === "x-shader/x-vertex") d = c.createShader(c.VERTEX_SHADER);
else if (b === "x-shader/x-fragment") d = c.createShader(c.FRAGMENT_SHADER);
else return S.ma.error(S.fa.uc("compileShader.type.error"), [a]),
k;
c.shaderSource(d, a);
c.compileShader(d);
d.src =
a;
return ! c.getShaderParameter(d, c.COMPILE_STATUS) ? (c = c.getShaderInfoLog(d), S.ma.error(S.fa.uc("compileShader.compile.error"), [c]), k) : d
},
link: function(a, b) {
var c = S.B,
d;
d = c.createProgram();
c.attachShader(d, a);
c.attachShader(d, b);
c.linkProgram(d);
if (!c.getProgramParameter(d, c.LINK_STATUS)) return d = c.getProgramInfoLog(d),
S.ma.error(S.fa.uc("linkProgram.error", [d])),
k;
d.id = this.$a++;
c = [a.src, b.src].join(" ").replace(/#.*|[(){};,]/g, " ").split(" ");
return this.$f(d, c)
},
Yf: function(a, b) {
return S.B.getAttribLocation(a,
b)
},
ag: function(a, b) {
return S.B.getUniformLocation(a, b)
},
Zf: function(a, b) {
if ("string" === typeof b) {
if (b.length < 1) return k;
var c;
return (c = this.Yf(a, b)) >= 0 ? c: this.ag(a, b)
}
return k
},
$f: function(a, b) {
var c,
d,
g,
h;
a.attributes = {};
a.attributes.length = 0;
a.Ca = {};
a.Ca.length = 0;
for (c = 0, d = b.length; c < d; c++) g = b[c],
h = this.Zf(a, g),
"number" === typeof h && "undefined" === typeof a.attributes[g] && (a.attributes[g] = h, a.attributes.length++),
"object" === typeof h && h instanceof WebGLUniformLocation && "undefined" === typeof a.Ca[g] &&
(a.Ca[g] = h, a.Ca.length++);
return a
},
$a: 0
};
S = S || {};
S.Ha = function(a, b) {
S.q.u("Tilt.Texture", this);
b = b || {};
this.j = k;
this.height = this.width = this.bb = -1;
this.loaded = !1;
this.onload = b.onload;
"object" === typeof a ? this.Qd(a, b) : "string" === typeof a ? this.sf(a, b) : S.ma.error(S.fa.get("initTexture.source.error"))
};
S.Ha.prototype = {
Qd: function(a, b) {
this.j = S.pc.create(a, b);
this.bb = this.j.id;
this.width = this.j.width;
this.height = this.j.height;
this.loaded = !0;
if ("function" === typeof this.onload) this.onload();
this.j.id = k;
this.j.width = k;
this.onload = this.j.height = k;
delete this.j.id;
delete this.j.width;
delete this.j.height;
delete this.onload
},
sf: function(a, b) {
var c = new Image;
c.src = a;
c.onload = function() {
this.Qd(c, b);
b = c = k
}.bind(this)
},
ig: function(a, b, c) {
this.width === a.width && this.height === a.height && b && c && (c = b = 0);
var d = S.B;
d.bindTexture(d.TEXTURE_2D, this.j);
d.texSubImage2D(d.TEXTURE_2D, 0, b, c, d.RGBA, d.UNSIGNED_BYTE, a)
},
d: function() {
try {
S.B.deleteTexture(this.j)
} catch(a) {}
S.w(this)
}
};
S = S || {};
S.pc = {
create: function(a, b) {
b = b || {};
if ("undefined" !== typeof S.cb[a.src]) return S.cb[a.src];
var c = S.B,
d = S.pc.Of(a, b),
g = c.getParameter(c.TEXTURE_BINDING_2D),
h = a.width,
i = a.height,
j = c.createTexture();
c.bindTexture(c.TEXTURE_2D, j);
c.texImage2D(c.TEXTURE_2D, 0, c.RGBA, c.RGBA, c.UNSIGNED_BYTE, d);
j.width = h;
j.height = i;
j.id = this.$a++;
this.Wf(b);
c.bindTexture(c.TEXTURE_2D, g);
"undefined" !== typeof a.src && (S.cb[a.src] = j);
return j
},
Wf: function(a) {
var b = S.B,
c = b.TEXTURE_MIN_FILTER,
d = b.TEXTURE_MAG_FILTER,
g = b.TEXTURE_WRAP_S,
h = b.TEXTURE_WRAP_T,
a = a || {};
a.Xa && b.bindTexture(b.TEXTURE_2D, a.Xa.Og);
"nearest" === a.Xd ? b.texParameteri(b.TEXTURE_2D, c, b.NEAREST) : "linear" === a.Xd && a.Yd ? b.texParameteri(b.TEXTURE_2D, c, b.LINEAR_MIPMAP_LINEAR) : b.texParameteri(b.TEXTURE_2D, c, b.LINEAR);
"nearest" === a.Ud ? b.texParameteri(b.TEXTURE_2D, d, b.NEAREST) : "linear" === a.Ud && a.Yd ? b.texParameteri(b.TEXTURE_2D, d, b.LINEAR_MIPMAP_LINEAR) : b.texParameteri(b.TEXTURE_2D, d, b.LINEAR);
"repeat" === a.Zg ? b.texParameteri(b.TEXTURE_2D, g, b.REPEAT) : b.texParameteri(b.TEXTURE_2D,
g, b.CLAMP_TO_EDGE);
"repeat" === a.$g ? b.texParameteri(b.TEXTURE_2D, h, b.REPEAT) : b.texParameteri(b.TEXTURE_2D, h, b.CLAMP_TO_EDGE);
a.Yd && b.generateMipmap(b.TEXTURE_2D)
},
Of: function(a, b) {
var b = b || {},
c = (a.src || "").indexOf("chrome://"),
d = S.h.Rd(a.width),
g = S.h.Rd(a.height);
if (b.Ff || d && g && c === -1) try {
return a
} finally {
b = a = k
}
c = S.G.Ra(S.h.$d(a.width), S.h.$d(a.height));
d = c.getContext("2d");
if (b.fill) d.fillStyle = b.fill,
d.fillRect(0, 0, c.width, c.height);
d.drawImage(a, 0, 0, a.width, a.height, 0, 0, c.width, c.height);
if (b.stroke) d.strokeStyle =
b.stroke,
d.lineWidth = b.Aa,
d.strokeRect(0, 0, c.width, c.height);
return c
},
Vg: function(a) {
S.B.pixelStorei(S.B.UNPACK_FLIP_Y_WEBGL, a)
},
$a: 0
};
function wa(a) {
var b = {
indent_size: 2,
indent_char: " ",
max_char: 78,
brace_style: "collapse"
},
c,
d,
g,
b = b || {};
c = b.tb || 2;
d = b.Od || " ";
g = b.Pb || "collapse";
b = new
function() {
this.J = 0;
this.Wg = "";
this.La = "CONTENT";
this.A = {
parent: "parent1",
Kg: 1,
Jg: ""
};
this.Ba = this.Td = this.vf = this.ac = this.da = "";
this.T = {
bc: "\n\r\t ".split(""),
cg: "br,input,link,meta,!doctype,basefont,base,area,hr,wbr,param,img,isindex,?xml,embed".split(","),
cf: "head,body,/html".split(","),
Qa: function(a, b) {
for (var c = 0; c < b.length; c++) if (a === b[c]) return ! 0;
return ! 1
}
};
this.hf = function() {
for (var a = "", b = [], c = !1; this.input.charAt(this.J) !== "<";) {
if (this.J >= this.input.length) return b.length ? b.join("") : ["", "TK_EOF"];
a = this.input.charAt(this.J);
this.J++;
this.N++;
if (this.T.Qa(a, this.T.bc)) b.length && (c = !0),
this.N--;
else {
if (c) {
if (this.N >= this.Vd) {
b.push("\n");
for (c = 0; c < this.ha; c++) b.push(this.Tb);
this.N = 0
} else b.push(" "),
this.N++;
c = !1
}
b.push(a)
}
}
return b.length ? b.join("") : ""
};
this.jf = function() {
var a = "",
b = [],
a = /<\/script>/igm;
a.lastIndex = this.J;
for (var c = (a =
a.exec(this.input)) ? a.index: this.input.length; this.J < c;) {
if (this.J >= this.input.length) return b.length ? b.join("") : ["", "TK_EOF"];
a = this.input.charAt(this.J);
this.J++;
b.push(a)
}
return b.length ? b.join("") : ""
};
this.Rc = function(a) {
this.A[a + "count"] ? this.A[a + "count"]++:this.A[a + "count"] = 1;
this.A[a + this.A[a + "count"]] = this.ha;
this.A[a + this.A[a + "count"] + "parent"] = this.A.parent;
this.A.parent = a + this.A[a + "count"]
};
this.Pf = function(a) {
if (this.A[a + "count"]) {
for (var b = this.A.parent; b;) {
if (a + this.A[a + "count"] === b) break;
b = this.A[b + "parent"]
}
if (b) this.ha = this.A[a + this.A[a + "count"]],
this.A.parent = this.A[b + "parent"];
delete this.A[a + this.A[a + "count"] + "parent"];
delete this.A[a + this.A[a + "count"]];
this.A[a + "count"] == 1 ? delete this.A[a + "count"] : this.A[a + "count"]--
}
};
this.kf = function() {
var a = "",
b = [],
c = !1;
do {
if (this.J >= this.input.length) return b.length ? b.join("") : ["", "TK_EOF"];
a = this.input.charAt(this.J);
this.J++;
this.N++;
if (this.T.Qa(a, this.T.bc)) c = !0,
this.N--;
else {
if (a === "'" || a === '"') if (!b[1] || b[1] !== "!") a += this.rb(a),
c =
!0;
a === "=" && (c = !1);
if (b.length && b[b.length - 1] !== "=" && a !== ">" && c) this.N >= this.Vd ? (this.Va(!1, b), this.N = 0) : (b.push(" "), this.N++),
c = !1;
b.push(a)
}
}
while (a !== ">");
a = b.join("");
c = a.substring(1, a.indexOf(" ") != -1 ? a.indexOf(" ") : a.indexOf(">")).toLowerCase();
a.charAt(a.length - 2) === "/" || this.T.Qa(c, this.T.cg) ? this.da = "SINGLE": c === "script" ? (this.Rc(c), this.da = "SCRIPT") : c === "style" ? (this.Rc(c), this.da = "STYLE") : c === "a" ? (a = this.rb("</a>", a), b.push(a), this.da = "SINGLE") : c.charAt(0) === "!" ? c.indexOf("[if") != -1 ? (a.indexOf("!IE") !=
-1 && (a = this.rb("--\>", a), b.push(a)), this.da = "START") : c.indexOf("[endif") != -1 ? (this.da = "END", this.hg()) : (a = c.indexOf("[cdata[") != -1 ? this.rb("]]\>", a) : this.rb("--\>", a), b.push(a), this.da = "SINGLE") : (c.charAt(0) === "/" ? (this.Pf(c.substring(1)), this.da = "END") : (this.Rc(c), this.da = "START"), this.T.Qa(c, this.T.cf) && this.Va(!0, this.za));
return b.join("")
};
this.rb = function(a, b) {
if (b && b.indexOf(a) != -1) return "";
var c = "",
d = "",
g = !0;
do {
if (this.J >= this.input.length) break;
c = this.input.charAt(this.J);
this.J++;
if (this.T.Qa(c,
this.T.bc)) {
if (!g) {
this.N--;
continue
}
if (c === "\n" || c === "\r") {
d += "\n";
for (c = 0; c < this.ha; c++) d += this.Tb;
g = !1;
this.N = 0;
continue
}
}
d += c;
this.N++;
g = !0
}
while (d.indexOf(a) == -1);
return d
};
this.lf = function() {
var a;
if (this.Td === "TK_TAG_SCRIPT") {
a = this.jf();
if (typeof a !== "string") return a;
a = xa(a, {
indent_size: this.tb,
indent_char: this.Pd,
indent_level: this.ha,
brace_style: this.Pb
});
return [a.replace(/^[\t ]+/, ""), "TK_CONTENT"]
}
if (this.La === "CONTENT") return a = this.hf(),
typeof a !== "string" ? a: [a, "TK_CONTENT"];
if (this.La ===
"TAG") return a = this.kf(),
typeof a !== "string" ? a: [a, "TK_TAG_" + this.da]
};
this.If = function(a, b, c, d) {
this.input = a || "";
this.za = [];
this.Pd = b;
this.Tb = "";
this.tb = c;
this.Pb = d;
this.ha = 0;
this.Vd = 80;
for (a = this.N = 0; a < this.tb; a++) this.Tb += this.Pd;
this.Va = function(a, b) {
this.N = 0;
if (b && b.length) {
if (!a) for (; this.T.Qa(b[b.length - 1], this.T.bc);) b.pop();
b.push("\n");
for (var c = 0; c < this.ha; c++) b.push(this.Tb)
}
};
this.Yb = function(a) {
this.za.push(a)
};
this.pf = function() {
this.ha++
};
this.hg = function() {
this.ha > 0 && this.ha--
}
};
return this
};
for (b.If(a, d, c, g);;) {
a = b.lf();
b.Ba = a[0];
b.ac = a[1];
if (b.ac === "TK_EOF") break;
switch (b.ac) {
case "TK_TAG_START":
case "TK_TAG_SCRIPT":
case "TK_TAG_STYLE":
b.Va(!1, b.za);
b.Yb(b.Ba);
b.pf();
b.La = "CONTENT";
break;
case "TK_TAG_END":
b.Va(!0, b.za);
b.Yb(b.Ba);
b.La = "CONTENT";
break;
case "TK_TAG_SINGLE":
b.Va(!1, b.za);
b.Yb(b.Ba);
b.La = "CONTENT";
break;
case "TK_CONTENT":
b.Ba !== "" && (b.Va(!1, b.za), b.Yb(b.Ba)),
b.La = "TAG"
}
b.Td = b.ac;
b.vf = b.Ba
}
return b.za.join("")
}
function xa(a, b) {
function c(a) {
for (a = typeof a === "undefined" ? !1: a; q.length && (q[q.length - 1] === " " || q[q.length - 1] === G || q[q.length - 1] === ba || a && (q[q.length - 1] === "\n" || q[q.length - 1] === "\r"));) q.pop()
}
function d(a) {
return a.replace(/^\s\s*|\s\s*$/, "")
}
function g() {
var a = O;
O = !1;
h();
O = a
}
function h(a) {
m.Rb = !1;
if (!O || !p(m.mode)) if (a = typeof a === "undefined" ? !0: a, m.Oa = !1, c(), q.length) {
if (q[q.length - 1] !== "\n" || !a) Q = !0,
q.push("\n");
ba && q.push(ba);
for (a = 0; a < m.ia; a += 1) q.push(G);
m.Y && m.qa && (da === " " ? q.push(" ") :
q.push(G))
}
}
function i() {
if (m.Rb) m.Rb = !1;
else {
var a = " ";
q.length && (a = q[q.length - 1]);
a !== " " && a !== "\n" && a !== G && q.push(" ")
}
}
function j() {
Q = !1;
m.Rb = !1;
q.push(w)
}
function l() {
q.length && q[q.length - 1] === G && q.pop()
}
function n(a) {
m && E.push(m);
m = {
Hf: m ? m.mode: "BLOCK",
mode: a,
Y: !1,
ra: !1,
qa: !1,
zc: !1,
Oa: !1,
yc: !1,
Rb: !1,
Ub: -1,
ia: m ? m.ia + (m.Y && m.qa ? 1: 0) : 0,
Wc: 0
}
}
function p(a) {
return a === "[EXPRESSION]" || a === "[INDENTED-EXPRESSION]"
}
function s(a) {
return a === "[EXPRESSION]" || a === "[INDENTED-EXPRESSION]" || a === "(EXPRESSION)"
}
function x() {
X = m.mode === "DO_BLOCK";
E.length > 0 && (m = E.pop())
}
function z(a) {
for (var b = 0; b < a.length; b++) if (d(a[b])[0] != "*") return ! 1;
return ! 0
}
function y(a, b) {
for (var c = 0; c < b.length; c += 1) if (b[c] === a) return ! 0;
return ! 1
}
function F() {
T = 0;
if (o >= H) return ["", "TK_EOF"];
W = !1;
var a = t.charAt(o);
o += 1;
if (O && p(m.mode)) {
for (var b = 0; y(a, I);) {
a === "\n" ? (c(), q.push("\n"), Q = !0, b = 0) : a === "\t" ? b += 4: a !== "\r" && (b += 1);
if (o >= H) return ["", "TK_EOF"];
a = t.charAt(o);
o += 1
}
if (m.Ub === -1) m.Ub = b;
if (Q) {
var g;
for (g = 0; g < m.ia + 1; g += 1) q.push(G);
if (m.Ub !== -1) for (g = 0; g < b - m.Ub; g++) q.push(" ")
}
} else {
for (; y(a, I);) {
a === "\n" && (T += ja ? T <= ja ? 1: 0: 1);
if (o >= H) return ["", "TK_EOF"];
a = t.charAt(o);
o += 1
}
if (fa && T > 1) for (g = 0; g < T; g += 1) h(g === 0),
Q = !0;
W = T > 0
}
if (y(a, K)) {
if (o < H) for (; y(t.charAt(o), K);) if (a += t.charAt(o), o += 1, o === H) break;
if (o !== H && a.match(/^[0-9]+[Ee]$/) && (t.charAt(o) === "-" || t.charAt(o) === "+")) return b = t.charAt(o),
o += 1,
g = F(),
a += b + g[0],
[a, "TK_WORD"];
if (a === "in") return [a, "TK_OPERATOR"];
W && r !== "TK_OPERATOR" && r !== "TK_EQUALS" && !m.Oa && (fa || u !== "var") && h();
return [a,
"TK_WORD"]
}
if (a === "(" || a === "[") return [a, "TK_START_EXPR"];
if (a === ")" || a === "]") return [a, "TK_END_EXPR"];
if (a === "{") return [a, "TK_START_BLOCK"];
if (a === "}") return [a, "TK_END_BLOCK"];
if (a === ";") return [a, "TK_SEMICOLON"];
if (a === "/") {
b = "";
g = !0;
if (t.charAt(o) === "*") {
o += 1;
if (o < H) for (; ! (t.charAt(o) === "*" && t.charAt(o + 1) && t.charAt(o + 1) === "/") && o < H;) {
a = t.charAt(o);
b += a;
if (a === "\r" || a === "\n") g = !1;
o += 1;
if (o >= H) break
}
o += 2;
return g ? ["/*" + b + "*/", "TK_INLINE_COMMENT"] : ["/*" + b + "*/", "TK_BLOCK_COMMENT"]
}
if (t.charAt(o) === "/") {
for (b =
a; t.charAt(o) !== "\r" && t.charAt(o) !== "\n";) if (b += t.charAt(o), o += 1, o >= H) break;
o += 1;
W && h();
return [b, "TK_COMMENT"]
}
}
if (a === "'" || a === '"' || a === "/" && (r === "TK_WORD" && y(u, ["return", "do"]) || r === "TK_COMMENT" || r === "TK_START_EXPR" || r === "TK_START_BLOCK" || r === "TK_END_BLOCK" || r === "TK_OPERATOR" || r === "TK_EQUALS" || r === "TK_EOF" || r === "TK_SEMICOLON")) {
b = a;
g = !1;
var i = a;
if (o < H) if (b === "/") for (a = !1; g || a || t.charAt(o) !== b;) {
if (i += t.charAt(o), g ? g = !1: (g = t.charAt(o) === "\\", t.charAt(o) === "[" ? a = !0: t.charAt(o) === "]" && (a = !1)), o += 1,
o >= H) return [i, "TK_STRING"]
} else for (; g || t.charAt(o) !== b;) if (i += t.charAt(o), g = g ? !1: t.charAt(o) === "\\", o += 1, o >= H) return [i, "TK_STRING"];
o += 1;
i += b;
if (b === "/") for (; o < H && y(t.charAt(o), K);) i += t.charAt(o),
o += 1;
return [i, "TK_STRING"]
}
if (a === "#") {
if (q.length === 0 && t.charAt(o) === "!") {
for (i = a; o < H && a != "\n";) a = t.charAt(o),
i += a,
o += 1;
q.push(d(i) + "\n");
h();
return F()
}
b = "#";
if (o < H && y(t.charAt(o), L)) {
do a = t.charAt(o),
b += a,
o += 1;
while (o < H && a !== "#" && a !== "=");
a !== "#" && (t.charAt(o) === "[" && t.charAt(o + 1) === "]" ? (b += "[]", o += 2) :
t.charAt(o) === "{" && t.charAt(o + 1) === "}" && (b += "{}", o += 2));
return [b, "TK_WORD"]
}
}
if (a === "<" && t.substring(o - 1, o + 3) === "<\!--") return o += 3,
m.zc = !0,
["<\!--", "TK_COMMENT"];
if (a === "-" && m.zc && t.substring(o - 1, o + 2) === "--\>") return m.zc = !1,
o += 2,
W && h(),
["--\>", "TK_COMMENT"];
if (y(a, M)) {
for (; o < H && y(a + t.charAt(o), M);) if (a += t.charAt(o), o += 1, o >= H) break;
return a === "=" ? [a, "TK_EQUALS"] : [a, "TK_OPERATOR"]
}
return [a, "TK_UNKNOWN"]
}
var t,
q,
w,
r,
u,
A,
D,
m,
E,
G,
I,
K,
M,
o,
J,
L,
B,
C,
X,
W,
Q,
T,
ba = "",
b = b ? b: {},
U;
if (b.dg !== f && b.Bc === f) b.Bc = b.dg;
b.Ue !== f && (U = b.Ue ? "expand": "collapse");
U = b.Pb ? b.Pb: U ? U: "collapse";
D = b.tb ? b.tb: 2;
var da = b.Od ? b.Od: " ",
fa = typeof b.Gf === "undefined" ? !0: b.Gf,
ja = typeof b.wf === "undefined" ? !1: b.wf,
Z = b.Bc === "undefined" ? !1: b.Bc,
O = typeof b.uf === "undefined" ? !1: b.uf;
Q = !1;
var H = a.length;
for (G = ""; D > 0;) G += da,
D -= 1;
for (; a && (a[0] === " " || a[0] === "\t");) ba += a[0],
a = a.substring(1);
t = a;
D = "";
r = "TK_START_EXPR";
A = u = "";
q = [];
X = !1;
I = "\n\r\t ".split("");
K = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_$".split("");
L = "0123456789".split("");
M = "+ - * / % & ++ -- = += -= *= /= %= == === != !== > < >= <= >> << >>> >>>= >>= <<= && &= | || ! !! , : ? ^ ^= |= ::".split(" ");
J = "continue,try,throw,return,var,if,switch,case,default,for,while,break,function".split(",");
E = [];
n("BLOCK");
for (o = 0;;) {
C = F();
w = C[0];
C = C[1];
if (C === "TK_EOF") break;
switch (C) {
case "TK_START_EXPR":
if (w === "[") {
if (r === "TK_WORD" || u === ")") {
y(u, J) && i();
n("(EXPRESSION)");
j();
break
}
if (m.mode === "[EXPRESSION]" || m.mode === "[INDENTED-EXPRESSION]") if (A === "]" && u === ",") {
if (m.mode === "[EXPRESSION]") m.mode =
"[INDENTED-EXPRESSION]",
O || (m.ia += 1);
n("[EXPRESSION]");
O || h()
} else if (u === "[") {
if (m.mode === "[EXPRESSION]") m.mode = "[INDENTED-EXPRESSION]",
O || (m.ia += 1);
n("[EXPRESSION]");
O || h()
} else n("[EXPRESSION]");
else n("[EXPRESSION]")
} else n("(EXPRESSION)");
u === ";" || r === "TK_START_BLOCK" ? h() : r === "TK_END_EXPR" || r === "TK_START_EXPR" || r === "TK_END_BLOCK" || u === "." || (r !== "TK_WORD" && r !== "TK_OPERATOR" ? i() : D === "function" || D === "typeof" ? Z && i() : (y(u, J) || u === "catch") && i());
j();
break;
case "TK_END_EXPR":
if (w === "]") if (O) {
if (u ===
"}") {
l();
j();
x();
break
}
} else if (m.mode === "[INDENTED-EXPRESSION]" && u === "]") {
x();
h();
j();
break
}
x();
j();
break;
case "TK_START_BLOCK":
D === "do" ? n("DO_BLOCK") : n("BLOCK");
U == "expand" ? (r !== "TK_OPERATOR" && (u === "return" || u === "=" ? i() : h(!0)), j(), m.ia += 1) : (r !== "TK_OPERATOR" && r !== "TK_START_EXPR" ? r === "TK_START_BLOCK" ? h() : i() : p(m.Hf) && u === "," && (A === "}" ? i() : h()), m.ia += 1, j());
break;
case "TK_END_BLOCK":
x();
U == "expand" ? u !== "{" && h() : r === "TK_START_BLOCK" ? Q ? l() : c() : p(m.mode) && O ? (O = !1, h(), O = !0) : h();
j();
break;
case "TK_WORD":
if (X) {
i();
j();
i();
X = !1;
break
}
if (w === "function") {
if (m.Y) m.qa = !0;
if ((Q || u === ";") && u !== "{") {
T = Q ? T: 0;
fa || (T = 1);
for (B = 0; B < 2 - T; B++) h(!1)
}
}
if (w === "case" || w === "default") {
u === ":" ? l() : (m.ia--, h(), m.ia++);
j();
m.yc = !0;
break
}
B = "NONE";
r === "TK_END_BLOCK" ? y(w.toLowerCase(), ["else", "catch", "finally"]) ? U == "expand" || U == "end-expand" ? B = "NEWLINE": (B = "SPACE", i()) : B = "NEWLINE": r === "TK_SEMICOLON" && (m.mode === "BLOCK" || m.mode === "DO_BLOCK") ? B = "NEWLINE": r === "TK_SEMICOLON" && s(m.mode) ? B = "SPACE": r === "TK_STRING" ? B = "NEWLINE": r === "TK_WORD" ? (u ===
"else" && c(!0), B = "SPACE") : r === "TK_START_BLOCK" ? B = "NEWLINE": r === "TK_END_EXPR" && (i(), B = "NEWLINE");
y(w, J) && u !== ")" && (B = u == "else" ? "SPACE": "NEWLINE");
if (m.Oa && r === "TK_END_EXPR") m.Oa = !1;
if (y(w.toLowerCase(), ["else", "catch", "finally"])) r !== "TK_END_BLOCK" || U == "expand" || U == "end-expand" ? h() : (c(!0), i());
else if (B === "NEWLINE") {
if (! ((r === "TK_START_EXPR" || u === "=" || u === ",") && w === "function")) if (w === "function" && u == "new") i();
else if (u === "return" || u === "throw") i();
else if (r !== "TK_END_EXPR") {
if ((r !== "TK_START_EXPR" || w !==
"var") && u !== ":") w === "if" && D === "else" && u !== "{" ? i() : (m.Y = !1, m.qa = !1, h())
} else if (y(w, J) && u != ")") m.Y = !1,
m.qa = !1,
h()
} else p(m.mode) && u === "," && A === "}" ? h() : B === "SPACE" && i();
j();
D = w;
if (w === "var") m.Y = !0,
m.qa = !1,
m.ra = !1;
if (w === "if") m.Oa = !0;
if (w === "else") m.Oa = !1;
break;
case "TK_SEMICOLON":
j();
m.Y = !1;
m.qa = !1;
if (m.mode == "OBJECT") m.mode = "BLOCK";
break;
case "TK_STRING":
r === "TK_START_BLOCK" || r === "TK_END_BLOCK" || r === "TK_SEMICOLON" ? h() : r === "TK_WORD" && i();
j();
break;
case "TK_EQUALS":
if (m.Y) m.ra = !0;
i();
j();
i();
break;
case "TK_OPERATOR":
B =
A = !0;
if (m.Y && w === "," && s(m.mode)) m.ra = !1;
if (m.Y && w === ",") if (m.ra) {
j();
m.qa = !0;
m.ra = !1;
h();
break
} else m.ra = !1;
if (u === "return" || u === "throw") {
i();
j();
break
}
if (w === ":" && m.yc) {
j();
h();
m.yc = !1;
break
}
if (w === "::") {
j();
break
}
if (w === ",") {
m.Y ? m.ra ? (j(), h(), m.ra = !1) : (j(), i()) : r === "TK_END_BLOCK" && m.mode !== "(EXPRESSION)" ? (j(), m.mode === "OBJECT" && u === "}" ? h() : i()) : m.mode === "OBJECT" ? (j(), h()) : (j(), i());
break
} else y(w, ["--", "++", "!"]) || y(w, ["-", "+"]) && (y(r, ["TK_START_BLOCK", "TK_START_EXPR", "TK_EQUALS", "TK_OPERATOR"]) ||
y(u, J)) ? (B = A = !1, u === ";" && s(m.mode) && (A = !0), r === "TK_WORD" && y(u, J) && (A = !0), m.mode === "BLOCK" && (u === "{" || u === ";") && h()) : w === "." ? A = !1: w === ":" ? m.Wc == 0 ? (m.mode = "OBJECT", A = !1) : m.Wc -= 1: w === "?" && (m.Wc += 1);
A && i();
j();
B && i();
break;
case "TK_BLOCK_COMMENT":
A = w.split(/\x0a|\x0d\x0a/);
if (z(A.slice(1))) {
h();
q.push(A[0]);
for (B = 1; B < A.length; B++) h(),
q.push(" "),
q.push(d(A[B]))
} else {
A.length > 1 ? (h(), c()) : i();
for (B = 0; B < A.length; B++) q.push(A[B]),
q.push("\n")
}
h();
break;
case "TK_INLINE_COMMENT":
i();
j();
s(m.mode) ? i() : g();
break;
case "TK_COMMENT":
W ? h() : i();
j();
g();
break;
case "TK_UNKNOWN":
(u === "return" || u === "throw") && i(),
j()
}
A = u;
r = C;
u = w
}
return ba + q.join("").replace(/[\n ]+$/, "")
}
if (typeof exports !== "undefined") exports.Ag = xa;
var ya;
ya = typeof Float32Array != "undefined" ? Float32Array: typeof WebGLFloatArray != "undefined" ? WebGLFloatArray: Array;
function Y(a) {
var b = new ya(3);
a && (b[0] = a[0], b[1] = a[1], b[2] = a[2]);
return b
}
function ra(a, b, c) {
if (!c || a == c) return a[0] += b[0],
a[1] += b[1],
a[2] += b[2],
a;
c[0] = a[0] + b[0];
c[1] = a[1] + b[1];
c[2] = a[2] + b[2];
return c
}
function za(a, b, c) {
if (!c || a == c) return a[0] -= b[0],
a[1] -= b[1],
a[2] -= b[2],
a;
c[0] = a[0] - b[0];
c[1] = a[1] - b[1];
c[2] = a[2] - b[2];
return c
}
function va(a, b) {
a[0] *= b;
a[1] *= b;
a[2] *= b;
return a
}
function ka(a, b, c) {
c || (c = a);
var d = a[0],
g = a[1],
a = a[2],
h = b[0],
i = b[1],
b = b[2];
c[0] = g * b - a * i;
c[1] = a * h - d * b;
c[2] = d * i - g * h
}
function ma(a) {
var b = a[0],
c = a[1],
a = a[2];
return Math.sqrt(b * b + c * c + a * a)
}
function oa(a, b) {
return a[0] * b[0] + a[1] * b[1] + a[2] * b[2]
}
function $(a) {
var b = new ya(16);
a && (b[0] = a[0], b[1] = a[1], b[2] = a[2], b[3] = a[3], b[4] = a[4], b[5] = a[5], b[6] = a[6], b[7] = a[7], b[8] = a[8], b[9] = a[9], b[10] = a[10], b[11] = a[11], b[12] = a[12], b[13] = a[13], b[14] = a[14], b[15] = a[15]);
return b
}
function Aa(a) {
a[0] = 1;
a[1] = 0;
a[2] = 0;
a[3] = 0;
a[4] = 0;
a[5] = 1;
a[6] = 0;
a[7] = 0;
a[8] = 0;
a[9] = 0;
a[10] = 1;
a[11] = 0;
a[12] = 0;
a[13] = 0;
a[14] = 0;
a[15] = 1;
return a
}
function Ba(a, b, c) {
c || (c = a);
var d = a[0],
g = a[1],
h = a[2],
i = a[3],
j = a[4],
l = a[5],
n = a[6],
p = a[7],
s = a[8],
x = a[9],
z = a[10],
y = a[11],
F = a[12],
t = a[13],
q = a[14],
a = a[15],
w = b[0],
r = b[1],
u = b[2],
A = b[3],
D = b[4],
m = b[5],
E = b[6],
G = b[7],
I = b[8],
K = b[9],
M = b[10],
o = b[11],
J = b[12],
L = b[13],
B = b[14],
b = b[15];
c[0] = w * d + r * j + u * s + A * F;
c[1] = w * g + r * l + u * x + A * t;
c[2] = w * h + r * n + u * z + A * q;
c[3] = w * i + r * p + u * y + A * a;
c[4] = D * d + m * j + E * s + G * F;
c[5] = D * g + m * l + E * x + G * t;
c[6] = D * h + m * n + E * z + G * q;
c[7] = D * i + m * p + E * y + G * a;
c[8] = I * d + K * j + M * s + o * F;
c[9] = I * g + K * l + M * x + o * t;
c[10] = I * h + K * n + M * z + o * q;
c[11] =
I * i + K * p + M * y + o * a;
c[12] = J * d + L * j + B * s + b * F;
c[13] = J * g + L * l + B * x + b * t;
c[14] = J * h + L * n + B * z + b * q;
c[15] = J * i + L * p + B * y + b * a
}
function Ca(a, b, c) {
c || (c = b);
var d = b[0],
g = b[1],
h = b[2],
b = b[3];
c[0] = a[0] * d + a[4] * g + a[8] * h + a[12] * b;
c[1] = a[1] * d + a[5] * g + a[9] * h + a[13] * b;
c[2] = a[2] * d + a[6] * g + a[10] * h + a[14] * b;
c[3] = a[3] * d + a[7] * g + a[11] * h + a[15] * b;
return c
}
function Ea(a, b) {
var c = b[0],
d = b[1],
g = b[2];
a[12] = a[0] * c + a[4] * d + a[8] * g + a[12];
a[13] = a[1] * c + a[5] * d + a[9] * g + a[13];
a[14] = a[2] * c + a[6] * d + a[10] * g + a[14];
a[15] = a[3] * c + a[7] * d + a[11] * g + a[15]
}
function ea(a) {
var b = new ya(4);
a && (b[0] = a[0], b[1] = a[1], b[2] = a[2], b[3] = a[3]);
return b
}
function qa(a, b) {
b[0] = a[0];
b[1] = a[1];
b[2] = a[2];
b[3] = a[3]
}
function pa(a, b, c) {
c || (c = a);
var d = a[0],
g = a[1],
h = a[2],
a = a[3],
i = b[0],
j = b[1],
l = b[2],
b = b[3];
c[0] = d * b + a * i + g * l - h * j;
c[1] = g * b + a * j + h * i - d * l;
c[2] = h * b + a * l + d * j - g * i;
c[3] = a * b - d * i - g * j - h * l;
return c
}
function Fa(a) {
var b;
b || (b = $());
var c = a[0],
d = a[1],
g = a[2],
h = a[3],
i = c + c,
j = d + d,
l = g + g,
a = c * i,
n = c * j;
c *= l;
var p = d * j;
d *= l;
g *= l;
i *= h;
j *= h;
h *= l;
b[0] = 1 - (p + g);
b[1] = n - h;
b[2] = c + j;
b[3] = 0;
b[4] = n + h;
b[5] = 1 - (a + g);
b[6] = d - i;
b[7] = 0;
b[8] = c - j;
b[9] = d + i;
b[10] = 1 - (a + p);
b[11] = 0;
b[12] = 0;
b[13] = 0;
b[14] = 0;
b[15] = 1;
return b
}
function sa(a, b, c) {
var d;
d || (d = a);
var g = a[0] * b[0] + a[1] * b[1] + a[2] * b[2] + a[3] * b[3];
if (Math.abs(g) >= 1) d != a && (d[0] = a[0], d[1] = a[1], d[2] = a[2], d[3] = a[3]);
else {
var h = Math.acos(g),
i = Math.sqrt(1 - g * g);
Math.abs(i) < 0.0010 ? (d[0] = a[0] * 0.5 + b[0] * 0.5, d[1] = a[1] * 0.5 + b[1] * 0.5, d[2] = a[2] * 0.5 + b[2] * 0.5, d[3] = a[3] * 0.5 + b[3] * 0.5) : (g = Math.sin((1 - c) * h) / i, c = Math.sin(c * h) / i, d[0] = a[0] * g + b[0] * c, d[1] = a[1] * g + b[1] * c, d[2] = a[2] * g + b[2] * c, d[3] = a[3] * g + b[3] * c)
}
}
S = S || {};
S.Ad = function(a, b, c) {
S.q.u("Tilt.Cube", this);
a = a || 1;
b = b || 1;
c = c || 1;
this.P = new S.U([ - 0.5 * a, -0.5 * b, 0.5 * c, 0.5 * a, -0.5 * b, 0.5 * c, 0.5 * a, 0.5 * b, 0.5 * c, -0.5 * a, 0.5 * b, 0.5 * c, -0.5 * a, 0.5 * b, 0.5 * c, 0.5 * a, 0.5 * b, 0.5 * c, 0.5 * a, 0.5 * b, -0.5 * c, -0.5 * a, 0.5 * b, -0.5 * c, 0.5 * a, -0.5 * b, -0.5 * c, -0.5 * a, -0.5 * b, -0.5 * c, -0.5 * a, 0.5 * b, -0.5 * c, 0.5 * a, 0.5 * b, -0.5 * c, -0.5 * a, -0.5 * b, -0.5 * c, 0.5 * a, -0.5 * b, -0.5 * c, 0.5 * a, -0.5 * b, 0.5 * c, -0.5 * a, -0.5 * b, 0.5 * c, 0.5 * a, -0.5 * b, 0.5 * c, 0.5 * a, -0.5 * b, -0.5 * c, 0.5 * a, 0.5 * b, -0.5 * c, 0.5 * a, 0.5 * b, 0.5 * c, -0.5 * a, -0.5 * b, -0.5 * c, -0.5 * a, -0.5 *
b, 0.5 * c, -0.5 * a, 0.5 * b, 0.5 * c, -0.5 * a, 0.5 * b, -0.5 * c], 3);
this.Wa = new S.U([0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1], 2);
this.ja = new S.jb([0, 1, 2, 0, 2, 3, 4, 5, 6, 4, 6, 7, 8, 9, 10, 8, 10, 11, 12, 13, 14, 12, 14, 15, 16, 17, 18, 16, 18, 19, 20, 21, 22, 20, 22, 23])
};
S.Ad.prototype = {
d: function() {
S.w(this)
}
};
S = S || {};
S.Bd = function(a, b, c) {
S.q.u("Tilt.CubeWireframe", this);
a = a || 1;
b = b || 1;
c = c || 1;
this.P = new S.U([ - 0.5 * a, -0.5 * b, 0.5 * c, 0.5 * a, -0.5 * b, 0.5 * c, 0.5 * a, 0.5 * b, 0.5 * c, -0.5 * a, 0.5 * b, 0.5 * c, 0.5 * a, -0.5 * b, -0.5 * c, -0.5 * a, -0.5 * b, -0.5 * c, -0.5 * a, 0.5 * b, -0.5 * c, 0.5 * a, 0.5 * b, -0.5 * c], 3);
this.ja = new S.jb([0, 1, 1, 2, 2, 3, 3, 0, 4, 5, 5, 6, 6, 7, 7, 4, 0, 5, 1, 4, 2, 7, 3, 6])
};
S.Bd.prototype = {
d: function() {
S.w(this)
}
};
S = S || {};
S.Dd = function() {
S.q.u("Tilt.Rectangle", this);
this.P = new S.U([0, 0, 1, 0, 0, 1, 1, 1], 2);
this.Wa = new S.U([0, 0, 1, 0, 0, 1, 1, 1], 2)
};
S.Dd.prototype = {
d: function() {
S.w(this)
}
};
S = S || {};
S.Ed = function() {
S.q.u("Tilt.RectangleWireframe", this);
this.P = new S.U([0, 0, 1, 0, 1, 1, 0, 1], 2)
};
S.Ed.prototype = {
d: function() {
S.w(this)
}
};
S = S || {};
S.Mb = function(a) {
S.q.u("Tilt.Mesh", this);
for (var b in a) this[b] !== "draw" && (this[b] = a[b]);
if ("string" === typeof this.color) this.color = S.h.xa(this.color);
else if ("undefined" === typeof this.color) this.color = [1, 1, 1, 1];
if ("undefined" === typeof this.Qb) this.Qb = S.V.TRIANGLES;
if ("function" === typeof a.F) this.F = a.F
};
S.Mb.prototype = {
F: function() {
var a = S.V,
b = this.P,
c = this.Wa,
d = this.ja,
g = this.color,
h = this.Xa,
i = this.Qb;
h ? a.qe(b, c, g, h) : a.yb(b, g);
d ? a.Ld(i, d) : a.Ma(i, b.aa)
},
d: function() {
S.w(this)
}
};
S = S || {};
S.Mb.prototype.save = function(a, b) {
var c = [],
d = [],
g = this.P.Q,
h = this.Wa.Q,
i = this.ja.Q,
j,
l;
c.push("mtllib " + b + ".mtl", "usemtl webpage");
d.push("newmtl webpage", "illum 2", "Ka 1.000 1.000 1.000", "Kd 1.000 1.000 1.000", "Ks 0.000 0.000 0.000", "map_Ka " + b + ".png", "map_Kd " + b + ".png", "map_Ks " + b + ".png");
for (j = 0, l = g.length; j < l; j += 3) c.push("v " + g[j] / 100 + " " + g[j + 1] / -100 + " " + g[j + 2] / 100);
for (j = 0, l = h.length; j < l; j += 2) c.push("vt " + h[j] + " " + (1 - h[j + 1]));
for (j = 0, l = i.length; j < l; j += 3) c.push("f " + (i[j] + 1) + "/" + (i[j] + 1) + " " +
(i[j + 1] + 1) + "/" + (i[j + 1] + 1) + " " + (i[j + 2] + 1) + "/" + (i[j + 2] + 1));
g = S.va.separator;
S.va.save(c.join("\n"), a + g + b + ".obj");
S.va.save(d.join("\n"), a + g + b + ".mtl")
};
S = S || {};
S.oc = function(a, b) {
S.q.u("Tilt.Renderer", this);
b = b || {};
this.canvas = a;
this.t = this.Jd(a);
S.sc();
S.B = this.t;
S.V = this;
if ("undefined" !== typeof this.t && this.t !== k) {
if (this.TRIANGLES = this.t.TRIANGLES, this.TRIANGLE_STRIP = this.t.TRIANGLE_STRIP, this.TRIANGLE_FAN = this.t.TRIANGLE_FAN, this.LINES = this.t.LINES, this.LINE_STRIP = this.t.LINE_STRIP, this.LINE_LOOP = this.t.LINE_LOOP, this.POINTS = this.t.POINTS, this.COLOR_BUFFER_BIT = this.t.COLOR_BUFFER_BIT, this.DEPTH_BUFFER_BIT = this.t.DEPTH_BUFFER_BIT, this.STENCIL_BUFFER_BIT =
this.t.STENCIL_BUFFER_BIT, this.t.clearColor(0, 0, 0, 1), this.t.clearDepth(1), this.t.clearStencil(0), "function" === typeof b.onsuccess) b.onsuccess()
} else if (S.ma.log(S.fa.get("initWebGL.error")), "function" === typeof b.Ta) {
b.Ta();
return
}
this.width = a.width;
this.height = a.height;
this.Mc = [];
this.H = Aa($());
this.ba = Aa($());
this.se = [0, 0, 0, 0];
this.wd = [1, 1, 1, 1];
this.ec = [1, 1, 1, 1];
this.Kb = [0, 0, 0, 1];
this.sd = 1;
this.We = new S.Nb(S.Z.yd.zb, S.Z.yd.qb);
this.gg = new S.Nb(S.Z.Ha.zb, S.Z.Ha.qb);
this.ic = new S.Dd;
this.De = new S.Ed;
this.og = new S.Ad;
this.pg = new S.Bd;
this.hc = 0;
this.dc = k;
this.pb = this.df = this.Md = this.elapsedTime = 0;
this.origin();
this.Oc();
this.Kd()
};
S.oc.prototype = {
clear: function(a, b, c, d) {
var g = this.se,
h = this.t;
if (g[0] !== a || g[1] !== b || g[2] !== c || g[3] !== d) g[0] = a,
g[1] = b,
g[2] = c,
g[3] = d,
h.clearColor(a, b, c, d),
a *= 255,
b *= 255,
c *= 255,
d *= 255,
this.canvas.setAttribute("style", ["background: rgba(", a, ", ", b, ", ", c, ", ", d, "); width: 100%; height: 100%;"].join(""));
h.clear(h.COLOR_BUFFER_BIT | h.DEPTH_BUFFER_BIT)
},
background: function(a) {
a = "string" === typeof a ? S.h.xa(a) : "undefined" === typeof a ? [0, 0, 0, 1] : "number" === typeof a ? [a / 255, a / 255, a / 255, 1] : [a[0] / 255, a[1] / 255, a[2] /
255, a[3] / 255];
this.clear(a[0], a[1], a[2], a[3])
},
Oc: function() {
var a = this.width,
b = this.height,
c = a / 2,
d = b / 2,
g = d / Math.tan(S.h.Lf(45) / 2),
h = g / 10,
i = h * Math.tan(45 * Math.PI / 360),
a = i * (a / b),
b = -a,
j = -i * -1;
i *= -1;
var l = g * 10,
n = this.ba;
n || (n = $());
var p = a - b,
s = i - j,
x = l - h;
n[0] = h * 2 / p;
n[1] = 0;
n[2] = 0;
n[3] = 0;
n[4] = 0;
n[5] = h * 2 / s;
n[6] = 0;
n[7] = 0;
n[8] = (a + b) / p;
n[9] = (i + j) / s;
n[10] = -(l + h) / x;
n[11] = -1;
n[12] = 0;
n[13] = 0;
n[14] = -(l * h * 2) / x;
n[15] = 0;
Ea(this.ba, [ - c, -d, -g]);
Aa(this.H);
this.oa(!0)
},
Af: function() {
var a = this.width,
b = this.height,
c = this.ba;
c || (c = $());
var d = a - 0,
g = 0 - b;
c[0] = 2 / d;
c[1] = 0;
c[2] = 0;
c[3] = 0;
c[4] = 0;
c[5] = 2 / g;
c[6] = 0;
c[7] = 0;
c[8] = 0;
c[9] = 0;
c[10] = -1.0E-6;
c[11] = 0;
c[12] = -(0 + a) / d;
c[13] = -(0 + b) / g;
c[14] = 0;
c[15] = 1;
Ea(this.ba, [0, 0, -999999]);
Aa(this.H);
this.oa(!1)
},
Qc: function() {
this.Mc.push($(this.H))
},
Pc: function() {
if (this.Mc.length > 0) this.H = this.Mc.pop()
},
origin: function() {
Aa(this.H)
},
transform: function(a) {
Ba(this.H, a)
},
translate: function(a, b, c) {
Ea(this.H, [a, b, c || 0])
},
rotate: function(a, b, c, d) {
var g = this.H,
d = [b, c, d],
h,
b = d[0],
c = d[1],
d = d[2],
i =
Math.sqrt(b * b + c * c + d * d);
if (i) {
i != 1 && (i = 1 / i, b *= i, c *= i, d *= i);
var j = Math.sin(a),
l = Math.cos(a),
n = 1 - l,
a = g[0],
i = g[1],
p = g[2],
s = g[3],
x = g[4],
z = g[5],
y = g[6],
F = g[7],
t = g[8],
q = g[9],
w = g[10],
r = g[11],
u = b * b * n + l,
A = c * b * n + d * j,
D = d * b * n - c * j,
m = b * c * n - d * j,
E = c * c * n + l,
G = d * c * n + b * j,
I = b * d * n + c * j,
b = c * d * n - b * j,
c = d * d * n + l;
h ? g != h && (h[12] = g[12], h[13] = g[13], h[14] = g[14], h[15] = g[15]) : h = g;
h[0] = a * u + x * A + t * D;
h[1] = i * u + z * A + q * D;
h[2] = p * u + y * A + w * D;
h[3] = s * u + F * A + r * D;
h[4] = a * m + x * E + t * G;
h[5] = i * m + z * E + q * G;
h[6] = p * m + y * E + w * G;
h[7] = s * m + F * E + r * G;
h[8] = a * I + x * b + t * c;
h[9] =
i * I + z * b + q * c;
h[10] = p * I + y * b + w * c;
h[11] = s * I + F * b + r * c
}
},
scale: function(a, b, c) {
var d = this.H,
c = [a, b, c || 0],
a = c[0],
b = c[1],
c = c[2];
d[0] *= a;
d[1] *= a;
d[2] *= a;
d[3] *= a;
d[4] *= b;
d[5] *= b;
d[6] *= b;
d[7] *= b;
d[8] *= c;
d[9] *= c;
d[10] *= c;
d[11] *= c
},
ka: function(a) {
this.wd = S.h.xa(a)
},
fill: function(a) {
this.ec = S.h.xa(a)
},
stroke: function(a) {
this.Kb = S.h.xa(a)
},
yf: function() {
var a = this.Kb;
a[0] = 0;
a[1] = 0;
a[2] = 0;
a[3] = 0
},
Aa: function(a) {
if (this.sd !== a) this.sd = a,
this.t.lineWidth(a)
},
Hd: function(a) {
var b = this.t;
"alpha" === a ? (b.enable(b.BLEND),
b.blendFunc(b.SRC_ALPHA, b.ONE_MINUS_SRC_ALPHA)) : "add" === a || "additive" === a ? (b.enable(b.BLEND), b.blendFunc(b.SRC_ALPHA, b.ONE)) : b.disable(b.BLEND)
},
oa: function(a) {
var b = this.t;
a ? b.enable(b.DEPTH_TEST) : b.disable(b.DEPTH_TEST)
},
eg: function(a) {
var b = this.t;
a ? b.enable(b.STENCIL_TEST) : b.disable(b.STENCIL_TEST)
},
Kd: function() {
this.ka("#fff");
this.fill("#fff");
this.stroke("#000");
this.Aa(1);
this.oa(!0);
this.eg(!1);
this.Hd("alpha")
},
yb: function(a, b) {
var c = this.We;
c.Xc();
c.Ja("vertexPosition", a);
c.Ia("mvMatrix",
this.H);
c.Ia("projMatrix", this.ba);
c.rc("color", b)
},
qe: function(a, b, c, d) {
var g = this.gg;
g.Xc();
g.Ja("vertexPosition", a);
g.Ja("vertexTexCoord", b);
g.Ia("mvMatrix", this.H);
g.Ia("projMatrix", this.ba);
g.rc("color", c);
g.bindTexture("sampler", d)
},
Jf: function(a, b, c, d) {
var g = this.ec,
h = this.Kb,
a = new S.U([a[0], a[1], a[2] || 0, b[0], b[1], b[2] || 0, c[0], c[1], c[2] || 0, d[0], d[1], d[2] || 0], 3);
g[3] && (this.yb(a, g), this.Ma(this.TRIANGLE_FAN, a.aa));
h[3] && (this.yb(a, h), this.Ma(this.LINE_LOOP, a.aa));
a.d()
},
rect: function(a, b, c,
d) {
var g = this.ec,
h = this.Kb,
i = this.ic.P,
j = this.De.P;
"center" === this.ic.Ng && (a -= c / 2, b -= d / 2);
this.Qc();
this.translate(a, b, 0);
this.scale(c, d, 1);
g[3] && (this.yb(i, g), this.Ma(this.TRIANGLE_STRIP, i.aa));
h[3] && (this.yb(j, h), this.Ma(this.LINE_LOOP, j.aa));
this.Pc()
},
Nd: function(a, b, c, d, g, h) {
if (a.loaded) {
var i = this.ic,
j = this.wd,
l = i.P,
h = h || i.Wa;
if ("undefined" === typeof d || "undefined" === typeof g) d = a.width,
g = a.height;
"center" === i.yg && (b -= d * 0.5, c -= g * 0.5);
j[3] && (this.Qc(), this.translate(b, c, 0), this.scale(d, g, 1), this.qe(l,
h, j, a), this.Ma(this.TRIANGLE_STRIP, l.aa), this.Pc())
}
},
Ma: function(a, b) {
this.t.drawArrays(a, 0, b)
},
Ld: function(a, b) {
var c = this.t;
c.bindBuffer(c.ELEMENT_ARRAY_BUFFER, b.j);
c.drawElements(a, b.aa, c.UNSIGNED_SHORT, 0)
},
Jd: function(a, b) {
var c = ["experimental-webgl", "webgl", "webkit-3d", "moz-webgl"],
d,
g,
h;
for (g = 0, h = c.length; g < h; g++) {
try {
d = a.getContext(c[g], b)
} catch(i) {}
if (d) break
}
return d
},
loop: function(a, b) {
window.Nf(a);
this.Oc();
this.Md++;
if (b) {
this.dc = (new Date).getTime();
if (this.hc !== 0) this.pb = this.dc - this.hc,
this.df = 1E3 / this.pb;
this.hc = this.dc;
this.elapsedTime += this.pb
}
},
d: function() {
S.sc();
S.w(this)
}
};
window.Nf = window.Pg || window.Yg || window.Eg || window.Gg || window.Fg ||
function(a) {
window.setTimeout(a, 1E3 / 60)
};
S = S || {};
S.Z = {};
S.Z.yd = {
zb: "attribute vec3 vertexPosition;\nuniform mat4 mvMatrix;\nuniform mat4 projMatrix;\nvoid main(void) {\n gl_Position = projMatrix * mvMatrix * vec4(vertexPosition, 1.0);\n}",
qb: "#ifdef GL_ES\nprecision lowp float;\n#endif\nuniform vec4 color;\nvoid main(void) {\n gl_FragColor = color;\n}"
};
S.Z.Ha = {
zb: "attribute vec3 vertexPosition;\nattribute vec2 vertexTexCoord;\nuniform mat4 mvMatrix;\nuniform mat4 projMatrix;\nvarying vec2 texCoord;\nvoid main(void) {\n gl_Position = projMatrix * mvMatrix * vec4(vertexPosition, 1.0);\n texCoord = vertexTexCoord;\n}",
qb: "#ifdef GL_ES\nprecision lowp float;\n#endif\nuniform vec4 color;\nuniform sampler2D sampler;\nvarying vec2 texCoord;\nvoid main(void) {\n vec4 texture = texture2D(sampler, texCoord);\n gl_FragColor = color * texture;\n}"
};
S = S || {};
S.na = function(a) {
S.q.u("Tilt.Container", this);
a = a || {};
this.i = a.i || !1;
this.disabled = a.disabled || !1;
this.standby = a.standby || !1;
this.re = a.background || k;
this.m = a.x || 0;
this.l = a.y || 0;
this.o = a.width || 0;
this.k = a.height || 0;
this.ta = a.Hg || [0, 0];
a.elements instanceof Array && a.elements.forEach(function(a) {
this.push(a)
}.bind(this));
S.c.push(this)
};
S.na.prototype = [];
R = S.na.prototype;
R.K = function(a, b) {
this.m = a;
this.l = b
};
R.X = function(a, b) {
this.o = a;
this.k = b
};
R.ca = ca("m");
R.Uc = ca("o");
R.Tc = ca("k");
R.W = N("m");
R.s = N("l");
R.Na = N("o");
R.vc = N("k");
R.update = function(a, b) {
var c,
d,
g;
for (d = 0, g = this.length; d < g; d++) c = this[d],
"function" === typeof c.update && !c.i && !c.disabled && c.update(a, b)
};
R.F = function(a, b) {
var b = b || S.V,
c;
c = this.re;
var d = this.m,
g = this.l,
h = this.o,
i = this.k,
j = this.ta,
l = d + j[0],
j = g + j[1],
n,
p,
s,
x,
z,
y,
F,
t,
q,
w;
c !== k && (b.fill(c), b.yf(), b.rect(d, g, h || b.width, i || b.height));
b.Qc();
b.translate(l, j, 0);
for (q = 0, w = this.length; q < w; q++) if (c = this[q], c.tc = !1, c.Be = d, c.Ce = g, c.sg = h, c.rg = i, !c.i) if (h === 0 || i === 0) c.F(a, b),
c.tc = !0;
else if (n = c.r || [1, 1, 1, 1], p = n[0] + l, s = n[1] + j, x = n[2], z = n[3], n = p, y = s, p += x, s += z, x = d, z = g, F = d + h, t = g + i, n > x && p < F && y > z && s < t) c.F(a, b),
c.tc = !0;
b.Pc()
};
R.clear = function() {
for (var a = 0, b = this.length; a < b; a++) this[a].d(),
this[a] = k;
this.splice(0, this.length)
};
R.d = function() {
S.c.splice(S.c.indexOf(this), 1);
S.w(this)
};
S = S || {};
S.Fd = function(a) {
S.q.u("Tilt.ScrollContainer", this);
S.c.push(this);
this.view = new S.na(a);
this.view.standby = !0;
this.scrollbars = new S.na;
this.top = a.je[0] || 0;
this.bottom = a.je[1] || Number.MAX_VALUE;
this.view.ta[1] = this.top;
var b = new S.f(a.top, {
x: this.view.m - 25,
y: this.view.l - 5,
width: 32,
height: 30,
fill: a.top ? k: "#f00a",
padding: a.top ? a.top.e: [0, 0, 0, 0],
onmousedown: function() {
window.clearInterval(this.hb);
window.clearInterval(this.gb);
window.clearInterval(this.fb);
var a = S.c,
b = this.view,
c = b.ta;
this.gb = window.setInterval(function() {
c[1] =
S.h.M(c[1] + 5, this.top, -this.bottom + b.k);
a.v();
a.R || (c = b = a = k, window.clearInterval(this.gb))
}.bind(this), 1E3 / 60)
}.bind(this)
}),
c = new S.f(a.bottom, {
x: this.view.m - 25,
y: this.view.l + this.view.k - 25,
width: 32,
height: 30,
fill: a.bottom ? k: "#0f0a",
padding: a.bottom ? a.bottom.e: [0, 0, 0, 0],
onmousedown: function() {
window.clearInterval(this.hb);
window.clearInterval(this.gb);
window.clearInterval(this.fb);
var a = S.c,
b = this.view,
c = b.ta;
this.fb = window.setInterval(function() {
c[1] = S.h.M(c[1] - 5, this.top, -this.bottom + b.k);
a.v();
a.R || (c = b = a = k, window.clearInterval(this.fb))
}.bind(this), 1E3 / 60)
}.bind(this)
}),
a = new S.f(a.reset, {
x: this.view.m - 25,
y: this.view.l + this.view.k - 50,
width: 32,
height: 30,
fill: a.reset ? k: "#0f0b",
padding: a.reset ? a.reset.e: [0, 0, 0, 0],
onmousedown: function() {
window.clearInterval(this.hb);
window.clearInterval(this.gb);
window.clearInterval(this.fb);
var a = S.c,
b = this.view,
c = b.ta;
this.hb = window.setInterval(function() {
c[1] -= (c[1] - this.top) / 10;
a.v();
Math.abs(c[1] - this.top) < 0.1 && (c = b = a = k, window.clearInterval(this.hb))
}.bind(this),
1E3 / 60)
}.bind(this)
});
this.view.onmousescroll = function(a) {
window.clearInterval(this.hb);
window.clearInterval(this.gb);
window.clearInterval(this.fb);
var b = S.c,
c = this.view,
i = c.ta;
i[1] = S.h.M(i[1] - a / 2, this.top, -this.bottom + c.k);
b.v()
}.bind(this);
this.scrollbars.push(b, c, a);
a = c = b = k
};
S.Fd.prototype = {
update: function() {
this.scrollbars.i = this.view.i;
this.scrollbars.disabled = this.view.disabled
},
F: aa(),
d: function() {
S.c.splice(S.c.indexOf(this), 1);
S.w(this)
}
};
S = S || {};
S.f = function(a, b) {
S.q.u("Tilt.Button", this);
b = b || {};
this.i = b.i || !1;
this.disabled = b.disabled || !1;
this.onmousedown = b.onmousedown || f;
this.onmouseup = b.onmouseup || f;
this.onclick = b.onclick || f;
this.b = a || {
m: -1,
l: -1,
o: -1,
k: -1
};
this.b.m = b.x || this.b.m;
this.b.l = b.y || this.b.l;
this.b.o = b.width || this.b.o;
this.b.k = b.height || this.b.k;
this.b.disabled = !0;
this.e = b.padding || [0, 0, 0, 0];
this.Gb = b.fill || k;
this.lc = b.stroke || k;
this.r = [this.b.m + this.e[0], this.b.l + this.e[1], this.b.o - this.e[0] - this.e[2], this.b.k - this.e[1] - this.e[3]]
};
S.f.prototype = {
K: function(a, b) {
"function" === typeof this.b.K ? this.b.K(a, b) : (this.b.m = a, this.b.l = b);
this.r[0] = a + this.e[0];
this.r[1] = b + this.e[1]
},
X: function(a, b) {
"function" === typeof this.b.X ? this.b.X(a, b) : (this.b.o = a, this.b.k = b);
this.r[2] = a - this.e[0] - this.e[2];
this.r[3] = b - this.e[1] - this.e[3]
},
ca: function(a) {
this.K(a, this.b.l)
},
Uc: function(a) {
this.X(a, this.b.k)
},
Tc: function(a) {
this.X(this.b.o, a)
},
ne: function(a) {
var b = this.b.m,
c = this.b.l,
d = this.b.o,
g = this.b.k,
h = this.b.e;
this.b = a;
this.b.e = h;
this.b.K(b,
c);
this.b.X(d, g);
this.b.disabled = !0
},
$b: ca("Gb"),
W: function() {
return this.b.m
},
s: function() {
return this.b.l
},
Na: function() {
return this.b.o
},
vc: function() {
return this.b.k
},
F: function(a, b) {
b = b || S.V;
"undefined" !== typeof this.b.mc && this.b.F(b);
var c,
d,
g = this.Gb,
h = this.lc;
if (g || h) c = this.r,
d = this.e,
b.fill(g || "#fff0"),
b.stroke(h || "#0000"),
b.rect(c[0] - d[0], c[1] - d[1], c[2] + d[0] + d[2], c[3] + d[1] + d[3]);
S.c.Ze && (b.fill("#fff2"), b.stroke("#00f"), b.rect(this.b.m, this.b.l, this.b.o, this.b.k), this.disabled || (b.fill("#0f04"),
b.rect(this.r[0], this.r[1], this.r[2], this.r[3])))
},
d: function() {
S.w(this)
}
};
S = S || {};
S.Ga = function(a, b) {
S.q.u("Tilt.Slider", this);
b = b || {};
this.i = b.i || !1;
this.disabled = b.disabled || !1;
this.onmousedown = b.onmousedown || f;
this.onmouseup = b.onmouseup || f;
this.onclick = b.onclick || f;
this.b = new S.z(a.mc, a.Jb, {
padding: a.e,
ka: a.vd
});
this.b.m = b.x || this.b.m;
this.b.l = b.y || this.b.l;
this.b.o = b.width || this.b.o;
this.b.k = b.height || this.b.k;
this.m = this.b.m;
this.l = this.b.l;
this.kc = b.size || 100;
this.cd = b.direction || 0;
this.r = [this.b.m + this.b.e[0], this.b.l + this.b.e[1], this.b.o - this.b.e[2], this.b.k - this.b.e[3]];
this.O(b.value || 0)
};
S.Ga.prototype = {
K: function(a, b) {
this.m = a;
this.l = b;
this.r[0] = a + this.b.e[0];
this.r[1] = b + this.b.e[1];
this.O(this.S)
},
ca: function(a) {
this.K(a, this.l);
this.O(this.S)
},
X: function(a) {
this.kc = a;
this.O(this.S)
},
O: function(a) {
var b = this.b,
c = this.m,
d = this.l,
g = this.kc,
h = this.cd;
this.S = S.h.M(a + 0.0010, 0, 100);
h === 0 ? (a = S.h.map(this.S, 0, 100, c, c + g), b.K(a, d), this.r[0] = a + b.e[0]) : (a = S.h.map(this.S, 0, 100, d, d + g), b.K(c, a), this.r[1] = a + b.e[1])
},
W: N("m"),
s: N("l"),
update: function() {
var a,
b,
c,
d,
g,
h,
i;
if (this.R) this.qd = !0;
else if (!S.c.R) this.qd =
!1;
if (this.qd) a = this.b,
b = this.Be,
c = this.Ce,
d = this.m,
g = this.l,
h = this.kc,
i = this.cd,
i === 0 ? (d += b, h = d + h, i = S.h.M(S.c.Lc - a.o * 0.5, d, h), b = i - b, a.K(b, g), this.S = S.h.map(i, d, h, 0, 100), this.r[0] = b + a.e[0]) : (g += c, i = S.h.M(S.c.qg - a.k * 0.5, g, g + h), b = i - c, a.K(d, b), this.S = S.h.map(b, g, g + h, 0, 100), this.r[1] = b + a.e[1])
},
F: function(a, b) {
b = b || S.V;
this.b.F(b)
},
d: function() {
S.w(this)
}
};
S = S || {};
S.z = function(a, b, c) {
S.q.u("Tilt.Sprite", this);
c = c || {};
this.i = c.i || !1;
this.disabled = c.disabled || !1;
this.onmousedown = c.onmousedown || f;
this.onmouseup = c.onmouseup || f;
this.onclick = c.onclick || f;
this.mc = a;
this.Jb = b || [0, 0, a.width, a.height];
this.m = c.x || 0;
this.l = c.y || 0;
this.o = c.width || this.Jb[2];
this.k = c.height || this.Jb[3];
this.e = c.padding || [0, 0, 0, 0];
this.vd = c.ka || k;
this.xe = c.oa || !1;
this.r = [this.m + this.e[0], this.l + this.e[1], this.o - this.e[0] - this.e[2], this.k - this.e[0] - this.e[3]];
this.Lb = k
};
S.z.prototype = {
K: function(a, b) {
this.m = a;
this.l = b;
this.r[0] = a + this.e[0];
this.r[1] = b + this.e[1]
},
X: function(a, b) {
this.o = a;
this.k = b;
this.r[2] = a - this.e[0] - this.e[2];
this.r[3] = b - this.e[1] - this.e[3]
},
ca: function(a) {
this.K(a, this.l)
},
Uc: function(a) {
this.X(a, this.k)
},
Tc: function(a) {
this.X(this.o, a)
},
W: N("m"),
s: N("l"),
Na: N("o"),
vc: N("k"),
F: function(a, b) {
var b = b || S.V,
c = this.Jb,
d = this.mc,
g = this.m,
h = this.l,
i = this.o,
j = this.k,
l = this.xe,
n = this.vd;
if (this.Lb === k && d.loaded) this.Lb = new S.U([c[0] / d.width, c[1] / d.height,
(c[0] + c[2]) / d.width, c[1] / d.height, c[0] / d.width, (c[1] + c[3]) / d.height, (c[0] + c[2]) / d.width, (c[1] + c[3]) / d.height], 2);
n !== k && b.ka(n);
l ? (b.oa(!0), b.Nd(d, g, h, i, j, this.Lb), b.oa(!1)) : b.Nd(d, g, h, i, j, this.Lb);
n !== k && b.ka("#fff");
S.c.Ze && (b.fill("#fff2"), b.stroke("#f00"), b.rect(this.m, this.l, this.o, this.k), this.disabled || (b.fill("#0f04"), b.rect(this.r[0], this.r[1], this.r[2], this.r[3])))
},
d: function() {
S.w(this)
}
};
S = S || {};
S.c = [];
S.c.Lc = 0;
S.c.Zd = 0;
S.c.R = !1;
S.c.$ = !1;
S.c.xf = 0;
S.c.Sd = [];
S.c.v = aa();
S.c.F = function(a) {
var b = S.V,
c,
d,
g;
b.Kd();
b.Af();
for (c = 0, d = this.length; c < d; c++) g = this[c],
g.i || (g.disabled || g.update(a, b), g.F(a, b))
};
S.c.Ef = function(a) {
if (! (a.Fc || this.indexOf(a) === -1)) {
for (var b = 0, c = this.length; b < c; b++) this[b].md = this[b].disabled,
this[b].disabled = !0;
a.Fc = !0;
a.i = !1;
a.disabled = !1;
this.v()
}
};
S.c.$e = function(a) {
if (a.Fc && this.indexOf(a) !== -1) {
for (var b = 0, c = this.length; b < c; b++) this[b].disabled = this[b].md,
delete this[b].md;
a.Fc = !1;
a.i = !0;
a.disabled = !0;
this.v()
}
};
S.c.Gc = function(a, b, c) {
this.R = !0;
this.$ = !1;
this.ab("onmousedown", a, b, c)
};
S.c.Kc = function(a, b, c) {
this.$ = this.R = !1;
this.ab("onmouseup", a, b, c)
};
S.c.click = function(a, b) {
this.ab("onclick", a, b)
};
S.c.af = function(a, b) {
this.ab("ondoubleclick", a, b)
};
S.c.Hc = function(a, b) {
this.Lc = a;
this.Zd = b
};
S.c.Jc = function(a) {
this.$ = !1;
this.xf = a;
this.ab("onmousescroll", a)
};
S.c.$ = aa();
S.c.Ic = aa();
S.c.Cc = function(a) {
this.Sd[a] = !0;
this.hd("onkeydown", a)
};
S.c.Dc = function(a) {
this.Sd[a] = !1;
this.hd("onkeyup", a)
};
S.c.ab = function(a, b, c, d) {
var g,
h,
i,
j,
l,
n,
p,
s,
x,
z,
y,
F,
t = this.Lc,
q = this.Zd;
for (g = 0, i = this.length; g < i; g++) if (l = this[g], !l.i && !l.disabled) {
p = l.m || 0;
h = l.l || 0;
j = l.o || 0;
s = l.k || 0;
if (l.standby && t > p && t < p + j && q > h && q < h + s) this.$ = !0,
n = l[a],
"function" === typeof n && n(b, c, d);
j = l.ta || [0, 0];
p += j[0];
s = h + j[1] + 2;
for (h = 0, j = l.length; h < j; h++) if (n = l[h], !n.i && !n.disabled && n.tc) {
x = n.r || [ - 1, -1, -1, -1];
z = x[0] + p;
y = x[1] + s;
F = x[2];
x = x[3];
if ("onmouseup" === a) n.R = !1;
if (t > z && t < z + F && q > y && q < y + x) {
if ("onmousedown" === a) n.R = !0;
this.$ = !0;
n = n[a];
"function" === typeof n && n(b, c, d)
}
}
}
};
S.c.hd = function(a, b) {
var c,
d,
g,
h,
i,
j;
for (c = 0, g = this.length; c < g; c++) if (i = this[c], !i.i && !i.disabled) {
i.standby && (j = i[a], "function" === typeof j && j(b));
for (d = 0, h = i.length; d < h; d++) j = i[d],
!j.i && !j.disabled && (j = j[a], "function" === typeof j && j(b))
}
};
S.q.u("Tilt.UI", S.c);
S = S || {};
S.ma = {
alert: function(a, b) {
var c;
"undefined" === typeof b && (b = "undefined");
try {
c = Cc["@mozilla.org/embedcomp/prompt-service;1"].getService(Ci.nsIPromptService),
c.alert(k, a, b)
} catch(d) {
window.alert(b)
}
},
log: function(a) {
var b;
"undefined" === typeof a && (a = "undefined");
try {
b = Cc["@mozilla.org/consoleservice;1"].getService(Ci.nsIConsoleService),
b.logStringMessage(a)
} catch(c) {
window.alert(a)
}
},
error: function(a, b, c, d, g, h, i) {
var j,
l;
"undefined" === typeof a && (a = "undefined");
try {
j = Cc["@mozilla.org/consoleservice;1"].getService(Ci.nsIConsoleService),
l = Cc["@mozilla.org/scripterror;1"].createInstance(Ci.nsIScriptError),
l.init(a, b, c, d, g, h, i),
j.logMessage(l)
} catch(n) {
window.alert(a)
}
}
};
S.fa = {
Id: "tilt-string-bundle",
get: function(a) {
if ("undefined" === typeof a) return "undefined";
var b = document.getElementById(this.Id);
return b ? b.getString(a) : a
},
uc: function(a, b) {
if ("undefined" === typeof a) return "undefined";
if ("undefined" === typeof b) return a;
var c = document.getElementById(this.Id);
return c ? c.vg(a, b) : [a, b].join(" ")
}
};
S = S || {};
S.G = {
ob: f,
Ka: f,
Ra: function(a, b, c, d) {
if ("undefined" === typeof this.ob) this.ob = document;
if ("undefined" === typeof this.Ka) this.Ka = document.body;
var g = this.ob,
h = this.Ka;
if ("undefined" === typeof g || g === k || "undefined" === typeof h || h === k) return k;
g = g.createElement("canvas");
g.setAttribute("style", "width: 100%; height: 100%;");
g.width = a;
g.height = b;
g.id = d;
c && this.append(g, h);
return g
},
zg: function() {
var a = this.Ra(window.innerWidth, window.innerHeight, !0);
this.Ka.setAttribute("style", "background: #000; margin: 0px; padding: 0px; overflow: hidden;");
return a
},
append: function(a, b) {
b.appendChild(a)
},
remove: function(a) {
a.parentNode.removeChild(a)
},
oe: function(a, b, c, d) {
var g = this.top = this.left = this.xb = 0,
h = 0,
i = function(b, d) {
var n,
p,
s,
x;
for (n = 0, p = b.childNodes.length; n < p; n++) s = b.childNodes[n],
d > g && (g = d),
h++,
this.xb++,
a(s, d, h, this.xb, this.left, this.top),
i(s, d + 1),
c && s.localName === "iframe" && (x = S.G.wc(s), this.left += x.x, this.top += x.y, i(s.contentDocument, d + 1), this.left -= x.x, this.top -= x.y)
}.bind(this);
try {
"function" === typeof a && i(d || window.content.document,
0),
"function" === typeof b && b(g, h)
} finally {
d = k
}
},
ff: function(a) {
var b,
c = {
width: a.innerWidth + a.scrollMaxX,
height: a.innerHeight + a.scrollMaxY
};
this.oe(function(a) {
b = this.wc(a);
c.width = Math.max(c.width, b.x || 0 + b.width || 0);
c.height = Math.max(c.height, b.y || 0 + b.height || 0)
}.bind(this), k, a.document);
return c
},
wc: function(a) {
if (a.nodeType !== 1) return {
x: 0,
y: 0,
width: 0,
height: 0
};
var b,
c,
d,
g;
try {
if (a.localName === "head" || a.localName === "body") throw new Exception;
d = a.getBoundingClientRect();
b = window.content.pageXOffset;
c = window.content.pageYOffset;
return {
x: d.left + b,
y: d.top + c,
width: d.width,
height: d.height
}
} catch(h) {
c = b = 0;
d = a.clientWidth;
g = a.clientHeight;
if (a.offsetParent) {
do b += a.offsetLeft,
c += a.offsetTop;
while (a = a.offsetParent)
} else {
if (a.x) b = a.x;
if (a.y) c = a.y
}
return {
x: b,
y: c,
width: d,
height: g
}
} finally {}
},
wg: function(a) {
var b;
a.nodeType === 1 ? b = "ELEMENT_NODE": a.nodeType === 2 ? b = "ATTRIBUTE_NODE": a.nodeType === 3 ? b = "TEXT_NODE": a.nodeType === 4 ? b = "CDATA_SECTION_NODE": a.nodeType === 5 ? b = "ENTITY_REFERENCE_NODE": a.nodeType === 6 ? b = "ENTITY_NODE":
a.nodeType === 7 ? b = "PROCESSING_INSTRUCTION_NODE": a.nodeType === 8 ? b = "COMMENT_NODE": a.nodeType === 9 ? b = "DOCUMENT_NODE": a.nodeType === 10 ? b = "DOCUMENT_TYPE_NODE": a.nodeType === 11 ? b = "DOCUMENT_FRAGMENT_NODE": a.nodeType === 12 && (b = "NOTATION_NODE");
return b
},
ef: function(a) {
var b = [],
c,
d;
for (c = 0, d = a.length; c < d; c++) b.push(a[c].name + ' = "' + a[c].value + '"');
return b.join("\n") + "\n"
},
gf: function(a) {
var b = [],
c,
d,
g;
for (g = 0; g < a.length; g++) c = a[g],
d = a.getPropertyValue(c),
c = c + ": " + d + ";",
'background-attachment: scroll;\nbackground-clip: border-box;\nbackground-color: transparent;\nbackground-image: none;\nbackground-origin: padding-box;\nbackground-position: 0% 0%;\nbackground-repeat: repeat;\nbackground-size: auto auto;\nborder-bottom-color: rgb(0, 0, 0);\nborder-bottom-left-radius: 0px;\nborder-bottom-right-radius: 0px;\nborder-bottom-style: none;\nborder-bottom-width: 0px;\nborder-collapse: separate;\nborder-left-color: rgb(0, 0, 0);\nborder-left-style: none;\nborder-left-width: 0px;\nborder-right-color: rgb(0, 0, 0);\nborder-right-style: none;\nborder-right-width: 0px;\nborder-spacing: 0px 0px;\nborder-top-color: rgb(0, 0, 0);\nborder-top-left-radius: 0px;\nborder-top-right-radius: 0px;\nborder-top-style: none;\nborder-top-width: 0px;\nbottom: auto;\nbox-shadow: none;\ncaption-side: top;\nclear: none;\nclip: auto;\ncolor: rgb(0, 0, 0);\ncontent: none;\ncounter-increment: none;\ncounter-reset: none;\ncursor: auto;\ndirection: ltr;\ndisplay: block;\nempty-cells: -moz-show-background;\nfloat: none;\nfont-family: serif;\nfont-size: 16px;\nfont-size-adjust: none;\nfont-stretch: normal;\nfont-style: normal;\nfont-variant: normal;\nfont-weight: 400;\nheight: 0px;\nime-mode: auto;\nleft: auto;\nletter-spacing: normal;\nline-height: 19.2px;\nlist-style-image: none;\nlist-style-position: outside;\nlist-style-type: disc;\nmargin-bottom: 8px;\nmargin-left: 8px;\nmargin-right: 8px;\nmargin-top: 8px;\nmarker-offset: auto;\nmax-height: none;\nmax-width: none;\nmin-height: 0px;\nmin-width: 0px;\nopacity: 1;\noutline-color: rgb(0, 0, 0);\noutline-offset: 0px;\noutline-style: none;\noutline-width: 0px;\noverflow: visible;\noverflow-x: visible;\noverflow-y: visible;\npadding-bottom: 0px;\npadding-left: 0px;\npadding-right: 0px;\npadding-top: 0px;\npage-break-after: auto;\npage-break-before: auto;\npointer-events: auto;\nposition: static;\nquotes: "\u201c" "\u201d" "\u2018" "\u2019";\nresize: none;\nright: auto;\ntable-layout: auto;\ntext-align: start;\ntext-decoration: none;\ntext-indent: 0px;\ntext-overflow: clip;\ntext-shadow: none;\ntext-transform: none;\ntop: auto;\nunicode-bidi: embed;\nvertical-align: baseline;\nvisibility: visible;\nwhite-space: normal;\nwidth: 1157px;\nword-spacing: 0px;\nword-wrap: normal;\nz-index: auto;\n-moz-animation-delay: 0s;\n-moz-animation-direction: normal;\n-moz-animation-duration: 0s;\n-moz-animation-fill-mode: none;\n-moz-animation-iteration-count: 1;\n-moz-animation-name: none;\n-moz-animation-play-state: running;\n-moz-animation-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1);\n-moz-appearance: none;\n-moz-background-inline-policy: continuous;\n-moz-binding: none;\n-moz-border-bottom-colors: none;\n-moz-border-image: none;\n-moz-border-left-colors: none;\n-moz-border-right-colors: none;\n-moz-border-top-colors: none;\n-moz-box-align: stretch;\n-moz-box-direction: normal;\n-moz-box-flex: 0;\n-moz-box-ordinal-group: 1;\n-moz-box-orient: horizontal;\n-moz-box-pack: start;\n-moz-box-sizing: content-box;\n-moz-column-count: auto;\n-moz-column-gap: 16px;\n-moz-column-rule-color: rgb(0, 0, 0);\n-moz-column-rule-style: none;\n-moz-column-rule-width: 0px;\n-moz-column-width: auto;\n-moz-float-edge: content-box;\n-moz-font-feature-settings: normal;\n-moz-font-language-override: normal;\n-moz-force-broken-image-icon: 0;\n-moz-hyphens: manual;\n-moz-image-region: auto;\n-moz-orient: horizontal;\n-moz-outline-radius-bottomleft: 0px;\n-moz-outline-radius-bottomright: 0px;\n-moz-outline-radius-topleft: 0px;\n-moz-outline-radius-topright: 0px;\n-moz-stack-sizing: stretch-to-fit;\n-moz-tab-size: 8;\n-moz-text-blink: none;\n-moz-text-decoration-color: rgb(0, 0, 0);\n-moz-text-decoration-line: none;\n-moz-text-decoration-style: solid;\n-moz-transform: none;\n-moz-transform-origin: 50% 50%;\n-moz-transition-delay: 0s;\n-moz-transition-duration: 0s;\n-moz-transition-property: all;\n-moz-transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1);\n-moz-user-focus: none;\n-moz-user-input: auto;\n-moz-user-modify: read-only;\n-moz-user-select: auto;\n-moz-window-shadow: default;\nclip-path: none;\nclip-rule: nonzero;\ncolor-interpolation: srgb;\ncolor-interpolation-filters: linearrgb;\ndominant-baseline: auto;\nfill: rgb(0, 0, 0);\nfill-opacity: 1;\nfill-rule: nonzero;\nfilter: none;\nflood-color: rgb(0, 0, 0);\nflood-opacity: 1;\nimage-rendering: auto;\nlighting-color: rgb(255, 255, 255);\nmarker-end: none;\nmarker-mid: none;\nmarker-start: none;\nmask: none;\nshape-rendering: auto;\nstop-color: rgb(0, 0, 0);\nstop-opacity: 1;\nstroke: none;\nstroke-dasharray: none;\nstroke-dashoffset: 0px;\nstroke-linecap: butt;\nstroke-linejoin: miter;\nstroke-miterlimit: 4;\nstroke-opacity: 1;\nstroke-width: 1px;\ntext-anchor: start;\ntext-rendering: auto;'.indexOf(c) ===
-1 && b.push(c);
return b.join("\n") + "\n"
}
};
S.q.u("Tilt.Document", S.G);
S = S || {};
S.va = {
bg: function(a, b) {
var c;
c = Cc["@mozilla.org/filepicker;1"].createInstance(Ci.nsIFilePicker);
c.init(window, a, b === "folder" ? Ci.nsIFilePicker.modeGetFolder: Ci.nsIFilePicker.Dg);
return c.show() == Ci.nsIFilePicker.returnOK ? c.file: k
},
save: function(a, b) {
var c,
d;
Cu.import("resource://gre/modules/FileUtils.jsm");
Cu.import("resource://gre/modules/NetUtil.jsm");
c = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile);
c.initWithPath(b);
c = FileUtils.openSafeFileOutputStream(c);
d = Cc["@mozilla.org/intl/scriptableunicodeconverter"].createInstance(Ci.nsIScriptableUnicodeConverter);
d.charset = "UTF-8";
d = d.convertToInputStream(a);
NetUtil.asyncCopy(d, c,
function(a) {
Components.isSuccessCode(a)
})
},
Rf: function(a, b) {
var c,
d,
g;
Cu.import("resource://gre/modules/FileUtils.jsm");
Cu.import("resource://gre/modules/NetUtil.jsm");
c = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile);
c.initWithPath(b);
d = Cc["@mozilla.org/network/io-service;1"].getService(Ci.nsIIOService);
g = d.newURI(a.toDataURL("image/png", ""), "UTF8", k);
d.newFileURI(c);
d = Cc["@mozilla.org/embedding/browser/nsWebBrowserPersist;1"].createInstance(Ci.nsIWebBrowserPersist);
d.persistFlags = Ci.nsIWebBrowserPersist.PERSIST_FLAGS_REPLACE_EXISTING_FILES;
d.persistFlags |= Ci.nsIWebBrowserPersist.PERSIST_FLAGS_AUTODETECT_APPLY_CONVERSION;
d.saveURI(g, k, k, k, k, c)
},
separator: navigator.appVersion.indexOf("Win") !== -1 ? "\\": "/"
};
S.q.u("Tilt.File", S.va);
S = S || {};
S.h = {
Lf: function(a) {
return a * 0.0174532925
},
tg: function(a) {
return a * 57.2957795
},
map: function(a, b, c, d, g) {
return d + (g - d) * ((a - b) / (c - b))
},
Rd: function(a) {
return (a & a - 1) === 0
},
$d: function(a) {
var b; --a;
for (b = 1; b < 32; b <<= 1) a |= a >> b;
return a + 1
},
M: function(a, b, c) {
if (b > c) var d = b,
b = c,
c = d;
return Math.max(b, Math.min(c, a))
},
Mg: function(a, b, c) {
b *= 0.5;
var d = Math.sin(b),
b = Math.cos(b),
g = a[0] * d,
h = a[1] * d,
a = a[2] * d;
return "undefined" === typeof c ? [g, h, a, b] : (c[0] = g, c[1] = h, c[2] = a, c[3] = b, c)
},
Kf: function(a, b, c, d) {
var g;
b *= 0.5;
a *= 0.5;
c *= 0.5;
var h = Math.sin,
i = Math.cos;
g = h(b);
var j = h(a),
h = h(c),
l = i(b),
n = i(a),
i = i(c),
b = g * n * i - l * j * h,
a = l * j * i + g * n * h,
c = l * n * h - g * j * i;
g = l * n * i + g * j * h;
return "undefined" === typeof d ? [b, a, c, g] : (d[0] = b, d[1] = a, d[2] = c, d[3] = g, d)
},
Lg: function(a, b, c, d, g) {
var h,
i = ea();
d ? Ba(d, c, h = $()) : h = c;
a[3] = 1;
Ca(h, a, i);
d ? (g[0] = i[0] / i[3], g[1] = i[1] / i[3], g[0] *= b[2] * 0.5, g[1] *= -b[3] * 0.5, g[0] += b[2] * 0.5, g[1] += b[3] * 0.5, g[2] = 0) : (g[0] = i[0], g[1] = i[1], g[2] = i[2]);
return g
},
pe: function(a, b, c, d, g) {
var h = $(),
g = g || ea();
Ba(d, c, h);
var i;
i || (i = h);
var c = h[0],
d = h[1],
j = h[2],
l = h[3],
n = h[4],
p = h[5],
s = h[6],
x = h[7],
z = h[8],
y = h[9],
F = h[10],
t = h[11],
q = h[12],
w = h[13],
r = h[14],
u = h[15],
A = c * p - d * n,
D = c * s - j * n,
m = c * x - l * n,
E = d * s - j * p,
G = d * x - l * p,
I = j * x - l * s,
K = z * w - y * q,
M = z * r - F * q,
o = z * u - t * q,
J = y * r - F * w,
L = y * u - t * w,
B = F * u - t * r,
C = 1 / (A * B - D * L + m * J + E * o - G * M + I * K);
i[0] = (p * B - s * L + x * J) * C;
i[1] = ( - d * B + j * L - l * J) * C;
i[2] = (w * I - r * G + u * E) * C;
i[3] = ( - y * I + F * G - t * E) * C;
i[4] = ( - n * B + s * o - x * M) * C;
i[5] = (c * B - j * o + l * M) * C;
i[6] = ( - q * I + r * m - u * D) * C;
i[7] = (z * I - F * m + t * D) * C;
i[8] = (n * L - p * o + x * K) * C;
i[9] = ( - c * L + d * o - l * K) * C;
i[10] = (q * G - w * m + u * A) * C;
i[11] =
( - z * G + y * m - t * A) * C;
i[12] = ( - n * J + p * M - s * K) * C;
i[13] = (c * J - d * M + j * K) * C;
i[14] = ( - q * E + w * D - r * A) * C;
i[15] = (z * E - y * D + F * A) * C;
g[0] = +((a[0] - b[0]) / b[2] * 2 - 1);
g[1] = -((a[1] - b[1]) / b[3] * 2 - 1);
g[2] = 2 * a[2] - 1;
g[3] = 1;
Ca(h, g);
g[3] = 1 / g[3];
g[0] *= g[3];
g[1] *= g[3];
g[2] *= g[3];
return g
},
Xe: function(a, b, c, d, g) {
this.pe(a, c, d, g, a);
this.pe(b, c, d, g, b);
var g = za(b, a),
h;
h || (h = g);
var c = g[0],
d = g[1],
g = g[2],
i = Math.sqrt(c * c + d * d + g * g);
i ? i == 1 ? (h[0] = c, h[1] = d, h[2] = g) : (i = 1 / i, h[0] = c * i, h[1] = d * i, h[2] = g * i) : (h[0] = 0, h[1] = 0, h[2] = 0);
return {
position: a,
Bg: b,
direction: h
}
},
tf: function(a, b, c, d, g) {
var h = Y(),
i = Y(),
j = Y(),
l = Y(),
n = Y(),
p = d.position,
d = d.direction;
"undefined" === typeof g && (g = Y());
za(b, a, h);
za(c, a, i);
ka(h, i, j);
if (j[0] === 0 && j[1] === 0 && j[2] === 0) return - 1;
za(p, a, n);
b = -oa(j, n);
j = +oa(j, d);
if (Math.abs(j) < 1.0E-4) return b === 0 ? 2: 0;
j = b / j;
if (j < 0) return 0;
ra(p, va(d, j), g);
p = oa(h, h);
d = oa(h, i);
j = oa(i, i);
za(g, a, l);
a = oa(l, h);
i = oa(l, i);
l = d * d - p * j;
g = (d * i - j * a) / l;
if (g < 0 || g > 1) return 0;
i = (d * a - p * i) / l;
return i < 0 || g + i > 1 ? 0: 1
},
xc: function(a, b, c) {
if (! (c < 0) && !(c > 1)) if (c < 0.166666667) return a +
(b - a) * 6 * c;
else if (c < 0.5) return b;
else if (c < 0.666666667) return a + (b - a) * (2 / 3 - c) * 6;
return a
},
Rg: function(a, b, c) {
a *= 0.00392156863;
b *= 0.00392156863;
c *= 0.00392156863;
var d = Math.max(a, b, c),
g = Math.min(a, b, c),
h,
i,
j = (d + g) * 0.5;
d === g ? i = g = 0: (h = d - g, g = j > 0.5 ? h / (2 - d - g) : h / (d + g), d === a ? i = (b - c) / h + (b < c ? 6: 0) : d === b ? i = (c - a) / h + 2: d === c && (i = (a - b) / h + 4), i /= 6);
return [i, g, j]
},
xg: function(a, b, c) {
var d,
g;
b === 0 ? c = b = a = c: (d = c < 0.5 ? c * (1 + b) : c + b - c * b, g = 2 * c - d, c = this.xc(g, d, a + 0.333333333), b = this.xc(g, d, a), a = this.xc(g, d, a - 0.333333333));
return [c *
255, b * 255, a * 255]
},
Qf: function(a, b, c) {
a *= 0.00392156863;
b *= 0.00392156863;
c *= 0.00392156863;
var d = Math.max(a, b, c),
g = Math.min(a, b, c),
h,
i;
h = d - g;
d === g ? i = 0: (d === a ? i = (b - c) / h + (b < c ? 6: 0) : d === b ? i = (c - a) / h + 2: d === c && (i = (a - b) / h + 4), i /= 6);
return [i, d === 0 ? 0: h / d, d]
},
nf: function(a, b, c) {
var d,
g,
h,
i = Math.floor(a * 6),
j = a * 6 - i,
a = c * (1 - b),
l = c * (1 - j * b),
b = c * (1 - (1 - j) * b);
i %= 6;
i === 0 ? (d = c, g = b, h = a) : i === 1 ? (d = l, g = c, h = a) : i === 2 ? (d = a, g = c, h = b) : i === 3 ? (d = a, g = l, h = c) : i === 4 ? (d = b, g = a, h = c) : i === 5 && (d = c, g = a, h = l);
return [d * 255, g * 255, h * 255]
},
xa: function(a) {
var a =
a.charAt(0) === "#" ? a.substring(1) : a,
b,
c,
d,
g;
if ("undefined" !== typeof this[a]) return this[a];
else b = window.parseInt(a, 16);
return a.length === 3 ? this[a] = [((b & 3840) >> 8) * 0.062745098, ((b & 240) >> 4) * 0.062745098, (b & 15) * 0.062745098, 1] : a.length === 4 ? this[a] = [((b & 61440) >> 12) * 0.062745098, ((b & 3840) >> 8) * 0.062745098, ((b & 240) >> 4) * 0.062745098, (b & 15) * 0.062745098] : a.length === 6 ? this[a] = [((b & 16711680) >> 16) * 0.00392156863, ((b & 65280) >> 8) * 0.00392156863, (b & 255) * 0.00392156863, 1] : a.length === 5 ? this[a] = [((b & 983040) >> 12) / 255, ((b & 61440) >>
8) / 255, ((b & 3840) >> 4) / 255, (b & 240) / 255] : a.length === 8 ? (b = parseInt(a.substring(0, 2), 16) * 0.00392156863, c = parseInt(a.substring(2, 4), 16) * 0.00392156863, d = parseInt(a.substring(4, 6), 16) * 0.00392156863, g = parseInt(a.substring(6, 8), 16) * 0.00392156863, this[a] = [b, c, d, g]) : a.match("^rgba") == "rgba" ? (b = a.substring(5, a.length - 1).split(","), b[0] *= 0.00392156863, b[1] *= 0.00392156863, b[2] *= 0.00392156863, b[3] *= 0.00392156863, this[a] = b) : a.match("^rgb") == "rgb" ? (b = a.substring(4, a.length - 1).split(","), b[0] *= 0.00392156863, b[1] *= 0.00392156863,
b[2] *= 0.00392156863, b[3] = 1, this[a] = b) : this[a] = [0, 0, 0, 1]
}
};
S.q.u("Tilt.Math", S.h);
S = S || {};
S.nc = {
gd: k,
next: function() {
return this.gd()
},
ke: function() {
var a = 0,
b = 0,
c = 0,
d = 1,
g,
h;
if (arguments.length === 0) return this.ke( + new Date);
else {
a = this.Sa(" ");
b = this.Sa(" ");
c = this.Sa(" ");
for (g = 0; g < arguments.length; g++) a -= this.Sa(arguments[g]),
a < 0 && (a += 1),
b -= this.Sa(arguments[g]),
b < 0 && (b += 1),
c -= this.Sa(arguments[g]),
c < 0 && (c += 1);
h = function() {
var g = 2091639 * a + d * 2.3283064365386963E-10;
a = b;
b = c;
return c = g - (d = g | 0)
};
h.Xg = function() {
return h() * 4294967296
};
h.ug = function() {
return h() + (h() * 2097152 | 0) * 1.1102230246251565E-16
};
return this.gd = h
}
},
Sa: function(a) {
var b,
c,
d = 4022871197,
a = a.toString();
for (b = 0; b < a.length; b++) d += a.charCodeAt(b),
c = 0.02519603282416938 * d,
d = c >>> 0,
c -= d,
c *= d,
d = c >>> 0,
c -= d,
d += c * 4294967296;
return (d >>> 0) * 2.3283064365386963E-10
}
};
S.nc.ke(0);
S = S || {};
S.Gd = {
trim: function(a) {
return a.replace(/^\s+|\s+$/g, "")
},
Cg: function(a) {
return a.replace(/^\s+/, "")
},
Sg: function(a) {
return a.replace(/\s+$/, "")
}
};
S.q.u("Tilt.String", S.Gd);
S = S || {};
S.qc = {
qf: function(a) {
var b,
c,
d,
g;
b = S.G.Ra();
c = S.G.Ra();
b = S.oc.prototype.Jd(b);
d = b.getParameter(b.MAX_TEXTURE_SIZE);
g = S.G.ff(a);
b = S.h.M(g.width, 0, d);
g = S.h.M(g.height, 0, d);
c.width = b;
c.height = g;
d = c.getContext("2d");
d.fillStyle = "#fff";
d.fillRect(0, 0, c.width, c.height);
d.drawWindow(a, 0, 0, b, g, "#fff");
return c
},
he: function(a, b, c, d) {
var g = c.left,
h = c.top,
i = c.width,
j = c.height;
if (d) return c = b.getContext("2d"),
c.translate(g, h),
c.drawWindow(a, g, h, i, j, "#fff"),
c.translate( - g, -h),
b;
else if (this.la) return this.la.width =
i,
this.la.height = j,
c = this.la.getContext("2d"),
c.drawWindow(a, g, h, i, j, "#fff"),
this.la;
else if ("undefined" === typeof this.la) return this.la = S.G.Ra(),
this.he(a, b, c);
else this.la = k,
delete this.la;
return k
}
};
S.q.u("Tilt.WebGL", S.qc);
S = S || {};
S.Pe = {
Mf: function(a, b, c) {
var d = new XMLHttpRequest;
d.open("GET", a, !0);
d.send(k);
d.onreadystatechange = function() {
d.readyState === 4 && "function" === typeof b && b(d, c)
}
},
Qg: function(a, b, c) {
function d(d, i) {
g[i] = d;
h++;
h === a.length && "function" === typeof b && b(g, c)
}
var g = [],
h = 0,
i,
j;
for (i = 0, j = a.length; i < j; i++) this.Mf(a[i], d, i)
}
};
S.q.u("Tilt.Xhr", S.Pe);
TiltChrome = TiltChrome || {};
TiltChrome.ua = {};
TiltChrome.ua.c = {
Da: {
ub: {
sb: {
value: 50
},
vb: {
value: 0
},
mb: {
value: 100
},
kb: {
value: 80
},
wb: {
value: 100
},
Wb: {
outline: [0, 0, 0, 0.25]
}
},
zf: {
sb: {
value: 50
},
vb: {
value: 0
},
mb: {
value: 100
},
kb: {
value: 80
},
wb: {
value: 100
},
Wb: {
outline: [0, 0, 0, 0.25]
}
},
ng: {
sb: {
value: 57.5
},
vb: {
value: 50
},
mb: {
value: 100
},
kb: {
value: 7.5
},
wb: {
value: 100
},
Wb: {
outline: [1, 1, 1, 0.7]
}
}
},
g: {
fg: {
stroke: "#fff3"
},
html: {
fill: "#FFF"
},
"head/body": {
fill: "#E667AF"
},
title: {
fill: "#CD0074"
},
script: {
fill: "#A64B00"
},
style: {
fill: "#FF9640"
},
div: {
fill: "#5DC8CD"
},
span: {
fill: "#67E46F"
},
table: {
fill: "#FF0700"
},
tr: {
fill: "#FF4540"
},
td: {
fill: "#FF7673"
},
ul: {
fill: "#4671D5"
},
li: {
fill: "#6C8CD5"
},
p: {
fill: "#888"
},
a: {
fill: "#123EAB"
},
img: {
fill: "#FFB473"
},
iframe: {
fill: "#85004B"
},
other: {
fill: "#444"
}
}
};
TiltChrome = TiltChrome || {};
TiltChrome.zd = {};
TiltChrome.zd.Oe = function() {
function a(a) {
a = a.keyCode || a.which;
if (a === 27)"open" === TiltChrome.BrowserOverlay.D.C.state ? TiltChrome.BrowserOverlay.D.C.hidePopup() : (TiltChrome.BrowserOverlay.d(!0, !0), TiltChrome.BrowserOverlay.href = k);
j.Dc(a);
l.Dc(a)
}
function b(a) {
a = a.keyCode || a.which;
"open" !== TiltChrome.BrowserOverlay.D.C.state && window.content.document.activeElement instanceof HTMLBodyElement && (j.Cc(a), l.Cc(a))
}
function c(a) {
a.preventDefault();
a.stopPropagation();
j.Jc(a.detail);
j.$ || l.Jc(a.detail)
}
function d(a) {
a.preventDefault();
a.stopPropagation();
j.Ic();
l.Ic()
}
function g(a) {
a.preventDefault();
a.stopPropagation();
var b = a.clientX - a.target.offsetLeft,
a = a.clientY - a.target.offsetTop;
j.Hc(b, a);
l.Hc(b, a)
}
function h(a) {
a.preventDefault();
a.stopPropagation();
var b = a.which,
c = a.clientX - a.target.offsetLeft,
a = a.clientY - a.target.offsetTop;
j.Kc(c, a, b);
l.Kc(c, a, b)
}
function i(a) {
a.preventDefault();
a.stopPropagation();
n = a.clientX - a.target.offsetLeft;
p = a.clientY - a.target.offsetTop;
j.Gc(n, p, a.which);
j.$ ? l.stop() : l.Gc(n, p, a.which)
}
var j = S.c,
l = k,
n = 0,
p = 0;
this.init = function(j) {
l = new S.xd(j.width, j.height);
this.stop = l.stop.bind(l);
this.translate = l.translate.bind(l);
this.rotate = l.rotate.bind(l);
this.zoom = l.zoom.bind(l);
this.reset = l.reset.bind(l);
this.pa = l.pa.bind(l);
j.addEventListener("mousedown", i, !1);
j.addEventListener("mouseup", h, !1);
j.addEventListener("click", s, !1);
j.addEventListener("dblclick", x, !1);
j.addEventListener("mousemove", g, !1);
j.addEventListener("mouseout", d, !1);
j.addEventListener("MozMousePixelScroll", c, !1);
window.addEventListener("keydown",
b, !1);
window.addEventListener("keyup", a, !1)
};
this.update = function(a) {
var b = this.n,
a = l.loop(a);
b.Vf(a.rotation);
b.Xf(a.ea)
};
var s = function(a) {
a.preventDefault();
a.stopPropagation();
var b = a.which,
c = a.clientX - a.target.offsetLeft,
a = a.clientY - a.target.offsetTop;
Math.abs(n - c) < 2 && Math.abs(p - a) < 2 && (j.click(c, a, b), j.$ || this.n.Cf(c, a))
}.bind(this),
x = function(a) {
a.preventDefault();
a.stopPropagation();
var b = a.clientX - a.target.offsetLeft,
a = a.clientY - a.target.offsetTop;
Math.abs(n - b) < 2 && Math.abs(p - a) < 2 && (j.af(b,
a), j.$ || this.n.Bf(b, a))
}.bind(this);
this.d = function(z) {
j = this.n = k;
i !== k && (z.removeEventListener("mousedown", i, !1), i = k);
h !== k && (z.removeEventListener("mouseup", h, !1), h = k);
s !== k && (z.removeEventListener("click", s, !1), s = k);
x !== k && (z.removeEventListener("dblclick", x, !1), x = k);
g !== k && (z.removeEventListener("mousemove", g, !1), g = k);
d !== k && (z.removeEventListener("mouseout", d, !1), d = k);
c !== k && (z.removeEventListener("MozMousePixelScroll", c, !1), c = k);
b !== k && (window.removeEventListener("keydown", b, !1), b = k);
a !== k &&
(window.removeEventListener("keyup", a, !1), a = k);
l !== k && (l.d(), l = k);
p = n = k;
S.w(this)
};
S.q.u("TiltChrome.Controller.MouseAndKeyboard", this)
};
TiltChrome = TiltChrome || {};
TiltChrome.c = {};
TiltChrome.c.Ne = function() {
var a = S.c,
b = TiltChrome.ua.c,
c = k,
d = k,
g = k,
h = k,
i = k,
j = k,
l = k,
n = k,
p = k,
s = k,
x = k,
z = k,
y = k,
F = k,
t = k,
q = k,
w = k,
r = k,
u = k,
A = k,
D = k,
m = k,
E = k,
G = k,
I = k,
K = k,
M = k,
o = k,
J = k,
L = k,
B = k,
C = k,
X = k,
W = k,
Q = k,
T = k,
ba = k,
U = k,
da = k,
fa = k,
ja = k,
Z = k,
O = k,
H = k,
v = k,
ha = k,
ia = k,
na = k,
ta = k,
ua = k;
this.init = function(V) {
j = new S.Ha("chrome://tilt/skin/tilt-ui.png", {
Xd: "nearest",
Ud: "nearest",
onload: function() {
this.n.v()
}.bind(this)
});
c = new S.na;
d = new S.na;
l = new S.z(j, [0, 768, 256, 256], {
width: V.width,
height: V.height,
oa: !0,
disabled: !0
});
K = new S.f(new S.z(j, [935, 120, 42, 38]), {
x: V.width - 50,
y: -5,
padding: [0, 0, 0, 5],
onclick: function() {
TiltChrome.BrowserOverlay.d(!0, !0);
TiltChrome.BrowserOverlay.href = k
}
});
M = new S.f(new S.z(j, [935, 80, 46, 38]), {
x: V.width - 150,
y: -5,
padding: [0, 0, 0, 5],
onclick: function() {
var b = V.width * 0.5 + 197,
c = V.height * 0.5 - 218;
ta.K(V.width * 0.5 - 305, V.height * 0.5 - 305);
ua.K(b, c);
a.Ef(g)
}.bind(this)
});
o = new S.f(new S.z(j, [935, 40, 61, 38]), {
x: V.width - 215,
y: -5,
padding: [0, 0, 0, 5],
onclick: function() {
var a = S.fa.get("folderPicker.string"),
b =
S.fa.get("webpageFilename.string");
if (a = S.va.bg(a, "folder")) a.reveal(),
this.n.Df(a.path, b)
}.bind(this)
});
J = new S.f(new S.z(j, [935, 0, 66, 38]), {
x: V.width - 285,
y: -5,
padding: [0, 0, 0, 5],
i: !0,
onclick: function() {
window.open("chrome://tilt/content/TiltChromeOptions.xul", "Options", "chrome, modal, centerscreen, width=410, height=325")
}.bind(this)
});
B = new S.f(new S.z(j, [935, 200, 48, 38]), {
x: V.width - 337,
y: -5,
padding: [0, 0, 0, 5],
i: !0,
onclick: function() {
this.n.le()
}.bind(this)
});
C = new S.f(new S.z(j, [935, 160, 36, 38]), {
x: V.width -
377,
y: -5,
padding: [0, 0, 0, 5],
i: !0,
onclick: function() {
this.n.Sf()
}.bind(this)
});
L = new S.f(new S.z(j, [935, 240, 84, 38]), {
x: V.width - 465,
y: -5,
padding: [0, 0, 0, 5],
i: !0,
onclick: function() {
this.n.Zb()
}.bind(this)
});
X = new S.f(new S.z(j, [0, 147, 42, 42]), {
x: 0,
y: -5,
padding: [6, 6, 6, 6],
onclick: function() {
window.clearInterval(this.L);
this.Zc = 0;
this.L = window.setInterval(function() {
this.Zc++;
this.ga.translate(i.view.i ? -5: 5, 0);
this.Zc >= 20 && window.clearInterval(this.L)
}.bind(this), 1E3 / 60);
d.i ^= 1;
i.view.i ^= 1;
if (!g.i) g.i = !0;
if (!h.i) h.i = !0
}.bind(this)
});
W = new S.z(j, [0, 0, 145, 145], {
x: 0,
y: 0
});
Q = new S.f(k, {
x: 50,
y: 4,
width: 45,
height: 30,
onmousedown: function() {
window.clearInterval(this.L);
this.L = window.setInterval(function() {
this.ga.translate(0, -5);
a.R || window.clearInterval(this.L)
}.bind(this), 1E3 / 60)
}.bind(this)
});
T = new S.f(k, {
x: 50,
y: 110,
width: 45,
height: 30,
onmousedown: function() {
window.clearInterval(this.L);
this.L = window.setInterval(function() {
this.ga.translate(0, 5);
a.R || window.clearInterval(this.L)
}.bind(this), 1E3 / 60)
}.bind(this)
});
ba = new S.f(k, {
x: 4,
y: 50,
width: 30,
height: 45,
onmousedown: function() {
window.clearInterval(this.L);
this.L = window.setInterval(function() {
this.ga.translate( - 5, 0);
a.R || window.clearInterval(this.L)
}.bind(this), 1E3 / 60)
}.bind(this)
});
U = new S.f(k, {
x: 110,
y: 50,
width: 30,
height: 45,
onmousedown: function() {
window.clearInterval(this.L);
this.L = window.setInterval(function() {
this.ga.translate(5, 0);
a.R || window.clearInterval(this.L)
}.bind(this), 1E3 / 60)
}.bind(this)
});
da = new S.f(new S.z(j, [0, 190, 42, 42]), {
x: 50,
y: 135,
padding: [6,
6, 6, 6],
onclick: function() {
this.ga.reset(0.95)
}.bind(this)
});
fa = new S.f(new S.z(j, [0, 234, 42, 42]), {
x: 90,
y: da.s(),
padding: [6, 6, 6, 6],
onclick: function() {
this.ga.zoom(200)
}.bind(this)
});
ja = new S.f(new S.z(j, [0, 278, 42, 42]), {
x: 10,
y: da.s(),
padding: [6, 6, 6, 6],
onclick: function() {
this.ga.zoom( - 200)
}.bind(this)
});
n = new S.z(j, [1, 365, 88, 353], {
x: 0,
y: 292,
disabled: !0
});
i = new S.Fd({
x: 85,
y: 300,
width: 130,
height: V.height - 310,
background: "#0001",
je: [0, Math.MAX_VALUE],
top: new S.z(j, [506, 69, 33, 30], {
padding: [2, 2, 2, 4]
}),
bottom: new S.z(j,
[506, 102, 33, 30], {
padding: [2, 2, 2, 4]
}),
reset: new S.z(j, [506, 134, 33, 30], {
padding: [2, 4, 2, 2]
})
});
p = new S.f(k, {
x: 5,
y: 301,
width: 14,
height: 14,
fill: b.g.html.fill,
onclick: function() {
P(b.g.html, p)
}
});
s = new S.f(k, {
x: 5,
y: p.s() + 20,
width: 14,
height: 14,
fill: b.g["head/body"].fill,
onclick: function() {
P(b.g["head/body"], s)
}
});
x = new S.f(k, {
x: 5,
y: s.s() + 20,
width: 14,
height: 14,
fill: b.g.title.fill,
onclick: function() {
P(b.g.title, x)
}
});
z = new S.f(k, {
x: 5,
y: x.s() + 20,
width: 14,
height: 14,
fill: b.g.style.fill,
onclick: function() {
P(b.g.style,
z)
}
});
y = new S.f(k, {
x: 5,
y: z.s() + 20,
width: 14,
height: 14,
fill: b.g.script.fill,
onclick: function() {
P(b.g.script, y)
}
});
F = new S.f(k, {
x: 5,
y: y.s() + 20,
width: 14,
height: 14,
fill: b.g.div.fill,
onclick: function() {
P(b.g.div, F)
}
});
t = new S.f(k, {
x: 5,
y: F.s() + 20,
width: 14,
height: 14,
fill: b.g.span.fill,
onclick: function() {
P(b.g.span, t)
}
});
q = new S.f(k, {
x: 5,
y: t.s() + 20,
width: 14,
height: 14,
fill: b.g.table.fill,
onclick: function() {
P(b.g.table, q)
}
});
w = new S.f(k, {
x: 5,
y: q.s() + 20,
width: 14,
height: 14,
fill: b.g.tr.fill,
onclick: function() {
P(b.g.tr,
w)
}
});
r = new S.f(k, {
x: 5,
y: w.s() + 20,
width: 14,
height: 14,
fill: b.g.td.fill,
onclick: function() {
P(b.g.td, r)
}
});
u = new S.f(k, {
x: 5,
y: r.s() + 20,
width: 14,
height: 14,
fill: b.g.ul.fill,
onclick: function() {
P(b.g.ul, u)
}
});
A = new S.f(k, {
x: 5,
y: u.s() + 20,
width: 14,
height: 14,
fill: b.g.li.fill,
onclick: function() {
P(b.g.li, A)
}
});
D = new S.f(k, {
x: 5,
y: A.s() + 20,
width: 14,
height: 14,
fill: b.g.p.fill,
onclick: function() {
P(b.g.p, D)
}
});
m = new S.f(k, {
x: 5,
y: D.s() + 20,
width: 14,
height: 14,
fill: b.g.a.fill,
onclick: function() {
P(b.g.a, m)
}
});
E = new S.f(k,
{
x: 5,
y: m.s() + 20,
width: 14,
height: 14,
fill: b.g.img.fill,
onclick: function() {
P(b.g.img, E)
}
});
G = new S.f(k, {
x: 5,
y: E.s() + 20,
width: 14,
height: 14,
fill: b.g.iframe.fill,
onclick: function() {
P(b.g.iframe, G)
}
});
I = new S.f(k, {
x: 5,
y: G.s() + 20,
width: 14,
height: 14,
fill: b.g.other.fill,
onclick: function() {
P(b.g.other, I)
}
});
var P = function(a, b) {
this.ue = a;
this.te = b;
var c = S.h.xa(a.fill),
c = S.h.Qf(c[0] * 255, c[1] * 255, c[2] * 255);
TiltChrome.BrowserOverlay.I.refresh(c[0] * 360, c[1] * 100, c[2] * 100);
TiltChrome.BrowserOverlay.I.C.openPopup(k,
k, 200 + b.W(), 80 + b.s())
}.bind(this),
Ga = new S.z(j, [438, 67, 66, 66]),
Da = new S.z(j, [438, 0, 66, 66]);
Z = new S.f(Da, {
x: 39,
y: 170,
padding: [12, 10, 12, 12],
onclick: function() {
if (Z.type !== 1) {
Z.type = 1;
Z.ne(Ga);
var a = b.Da.ng
} else Z.type = 0,
Z.ne(Da),
a = b.Da.zf;
H.O(a.sb.value);
v.O(a.vb.value);
ha.O(a.mb.value);
ia.O(a.kb.value);
na.O(a.wb.value);
la();
this.n.me(a.Wb.outline)
}.bind(this)
});
O = new S.f(new S.z(j, [505, 0, 66, 66]), {
x: 39,
y: 230,
padding: [12, 10, 14, 16],
onclick: function() {
h.i ^= 1;
this.n.v()
}.bind(this)
});
var ga = new S.z(j, [574,
131, 29, 29], {
padding: [8, 8, 8, 8]
});
H = new S.Ga(ga, {
x: 64,
y: 12,
size: 120,
value: b.Da.ub.sb.value,
onmousedown: function() {
la()
}
});
v = new S.Ga(ga, {
x: H.W(),
y: H.s() + 19,
size: 120,
value: b.Da.ub.vb.value,
onmousedown: function() {
la()
}
});
ha = new S.Ga(ga, {
x: H.W(),
y: v.s() + 18,
size: 120,
value: b.Da.ub.mb.value,
onmousedown: function() {
la()
}
});
ia = new S.Ga(ga, {
x: H.W(),
y: ha.s() + 18,
size: 120,
value: b.Da.ub.kb.value,
onmousedown: function() {
la()
}
});
na = new S.Ga(ga, {
x: H.W(),
y: ia.s() + 18,
size: 120,
value: b.Da.ub.wb.value,
onmousedown: function() {
la()
}
});
var la = function() {
window.clearInterval(this.pd);
this.pd = window.setInterval(function() {
var b = S.h.nf(H.S * 0.01, v.S * 0.01, ha.S * 0.01),
c = na.S * 0.01;
b[0] /= 255;
b[1] /= 255;
b[2] /= 255;
b[3] = ia.S * 0.01;
this.n.Tf(b);
this.n.Uf(c);
a.R || window.clearInterval(this.pd)
}.bind(this), 1E3 / 60)
}.bind(this),
ga = new S.z(j, [572, 1, 231, 126], {
disabled: !0
});
h = new S.na({
x: 77,
y: 239,
i: !0,
elements: [ga, H, v, ha, ia, na]
});
ta = new S.z(j, [210, 180, 610, 510], {
disabled: !0
});
ua = new S.f(k, {
width: 30,
height: 30,
onclick: function() {
a.$e(g)
}.bind(this)
});
g =
new S.na({
i: !0,
background: "#0107",
elements: [ta, ua]
});
c.push(l, K, X);
d.push(M, o, J, B, C, L, da, fa, ja, W, Q, T, ba, U, Z, O, n, p, s, x, z, y, F, t, q, w, r, u, A, D, m, E, G, I)
};
this.F = function() {
a.F()
};
this.ce = function() {
B.i = !1;
C.i = !1;
L.i = !1
};
this.be = function() {
B.i = !0;
C.i = !0;
L.i = !0
};
this.Ig = aa();
this.de = function() {
var a = TiltChrome.BrowserOverlay.I.Pa.contentDocument.colorPicked;
this.ue.fill = a;
this.te.$b(a);
this.Ec();
this.n.ee()
};
this.Wd = function(a, c, d, g) {
if (i.kd) i.kd = !1,
i.view.clear(),
this.Vc = 0;
if ("undefined" === typeof this.Vc) this.Vc =
0;
if (! ("undefined" === typeof a.localName || a.localName === k)) {
var d = this.Vc++,
h = 3 + c * 6,
c = 3 + d * 10,
j,
l,
C,
m;
C = S.h.M(a.localName.length, 4, 10);
var d = S.h.M(a.id.length, 4, 10),
n = S.h.M(a.className.length, 4, 10),
o = h + C * 10 + 3,
p = o + d * 2 + 3,
h = new S.f(k, {
x: h,
y: c,
width: C * 10,
height: 7,
padding: [ - 1, -1, -1, -1],
stroke: b.g.fg.stroke
});
C = h.W() + h.Na();
m = h.s() + h.vc() * 2;
a.id && (j = new S.f(k, {
x: o,
y: c,
width: d * 2,
height: 7,
padding: [ - 1, -1, -1, -1],
stroke: h.lc
}), C = Math.max(C, j.W() + j.Na()));
a.className && (l = new S.f(k, {
x: p,
y: c,
width: n * 2,
height: 7,
padding: [ - 1,
-1, -1, -1],
stroke: h.lc
}), C = Math.max(C, l.W() + l.Na()));
C > i.view.Na() && i.view.Uc(C);
i.bottom = m;
if (h) i.view.push(h),
h.localName = a.localName,
h.onclick = function() {
a.localName === "img" || a.localName === "input" || a.localName === "button" || a.localName === "meta" || a.localName === "link" || a.localName === "style" || a.localName === "script" || a.localName === "noscript" ? this.n.Zb() : this.n.le();
this.n.Ua(g)
}.bind(this);
if (j) i.view.push(j),
j.$b(h.Gb),
j.localName = a.localName,
j.onclick = function() {
this.n.Zb();
this.n.Ua(g)
}.bind(this);
if (l) i.view.push(l),
l.$b(h.Gb),
l.localName = a.localName,
l.onclick = function() {
this.n.Zb();
this.n.Ua(g)
}.bind(this)
}
};
this.Ec = function() {
i.view.forEach(function(a) {
a.$b((b.g[a.localName !== "head" && a.localName !== "body" ? a.localName: "head/body"] || b.g.other).fill)
});
i.kd = !0
};
this.pa = function(a, b) {
l.X(a, b);
i.view.Tc(b - 310);
K.ca(a - 50);
M.ca(a - 150);
o.ca(a - 215);
J.ca(a - 285);
B.ca(a - 337);
C.ca(a - 377);
L.ca(a - 465)
};
this.d = function() {
b = a = this.ga = this.n = k;
c !== k && (c.d(), c = k);
d !== k && (d.d(), d = k);
g !== k && (g.d(), g = k);
h !== k &&
(h.d(), h = k);
i !== k && (i.d(), i = k);
j !== k && (j.d(), j = k);
l !== k && (l.d(), l = k);
ua = ta = na = ia = ha = v = H = O = Z = ja = fa = da = U = ba = T = Q = W = X = C = B = L = J = o = M = K = I = G = E = m = D = r = w = q = t = F = y = z = x = s = p = n = k;
S.w(this)
};
S.q.u("TiltChrome.UI", this)
};
TiltChrome = TiltChrome || {};
TiltChrome.Ob = function(a, b, c) {
var d = new S.oc(a, {
Ta: function() {
TiltChrome.BrowserOverlay.d(!0, !0);
TiltChrome.BrowserOverlay.href = k;
S.ma.alert("Firefox", S.fa.get("initWebGL.error"));
gBrowser.selectedTab = gBrowser.addTab("http://get.webgl.org/troubleshooting/")
}
}),
g = k,
h = k,
i = 15,
j = k,
l = k,
n = k,
p = {
index: -1,
fill: "#fff",
stroke: "000",
Aa: 3,
jg: Y(),
kg: Y(),
lg: Y(),
mg: Y()
},
s = {
ea: Y(),
rotation: ea()
},
x = !0,
z = !0,
y = !0,
F = function() {
if (d && d.t) n = new S.Nb(TiltChrome.Z.Ob.zb, TiltChrome.Z.Ob.qb),
q(),
w(),
A(),
s.ea = [0, 0, 0],
s.rotation =
[0, 0, 0, 1],
window.setTimeout(function() {
I();
K()
}.bind(this), 100)
}.bind(this),
t = function() {
if (d && d.t) {
d.loop(t);
z && (z = !1, r());
y && (y = !1, u());
if (x) {
x = !1;
d.clear(0, 0, 0, 1);
d.translate(d.width * 0.5 + 100, d.height * 0.5 - 50, -i * 30);
d.translate(s.ea[0], s.ea[1], s.ea[2]);
d.transform(Fa(s.rotation));
d.Hd("alpha");
d.Aa(2);
j.F();
l.F();
if (p.index !== -1) {
var a = j.H;
d.Oc();
d.oa(!1);
d.fill(p.fill);
d.stroke(p.stroke);
d.Aa(p.Aa);
d.Jf(Ca(a, p.Je, p.jg), Ca(a, p.Ke, p.kg), Ca(a, p.Le, p.lg), Ca(a, p.Me, p.mg))
}
c && "function" === typeof c.F &&
c.F(d.pb)
}
b && "function" === typeof b.update && b.update(d.pb); (d.Md + 1) % 1E3 === 0 && TiltChrome.BrowserOverlay.Xb()
}
}.bind(this),
q = function() {
if ("undefined" !== typeof b) b.n = this,
"function" === typeof b.init && b.init(a)
}.bind(this),
w = function() {
if ("undefined" !== typeof c) c.n = this,
c.ga = b,
S.c.v = this.v,
"function" === typeof c.init && c.init(a)
}.bind(this),
r = function() {
var a = this.Ee;
if ("undefined" === typeof a || a === k) {
if (g = S.qc.qf(window.content), h !== k && h.d(), h = new S.Ha(g, {
fill: "white",
stroke: "#aaa",
Aa: 8,
Ff: !0
}), j !== k) j.Xa =
h
} else if ("object" === typeof a) {
var b = S.qc.he(window.content, g, a);
b && h.ig(b, a.left, a.top)
}
}.bind(this),
u = function() {
if (d && d.t) {
var a = S.nc.next.bind(S.nc),
b = [],
g = [],
m = [],
o = [],
p = [],
t = [];
if (j !== k) j.Xa = k,
j.d();
l !== k && l.d();
S.G.oe(function(j, l, n, s, q, r) {
c && "function" === typeof c.Wd && c.Wd(j, l, 0, s);
var n = j.localName,
v = {
innerHTML: j.innerHTML,
attributes: j.attributes,
localName: n,
className: j.className,
id: j.id,
xb: s,
style: "",
index: -1
};
try {
v.style = window.getComputedStyle(j)
} catch(u) {}
n === "head" || n === "title" || n ===
"meta" || n === "link" || n === "style" || n === "script" || n === "noscript" || n === "option" ? t.push(v) : (n = S.G.wc(j), j = n.width, s = n.height, j > 4 && s > 4 ? (v.index = p.length, p.push(v), v = b.length / 3, l = l * i + a() * 0.1, q = n.x - d.width / 2 + q + a() * 0.1, r = n.y - d.height / 2 + r + a() * 0.1, b.unshift(q, r, l, q + j, r, l, q + j, r + s, l, q, r + s, l, q, r + s, l - i, q + j, r + s, l - i, q + j, r + s, l, q, r + s, l, q, r, l, q + j, r, l, q + j, r, l - i, q, r, l - i), g.unshift((q + d.width * 0.5) / h.width, (r + d.height * 0.5) / h.height, (q + d.width * 0.5 + j) / h.width, (r + d.height * 0.5) / h.height, (q + d.width * 0.5 + j) / h.width, (r + d.height *
0.5 + s) / h.height, (q + d.width * 0.5) / h.width, (r + d.height * 0.5 + s) / h.height, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1), m.unshift(v + 0, v + 1, v + 2, v + 0, v + 2, v + 3, v + 4, v + 5, v + 6, v + 4, v + 6, v + 7, v + 8, v + 9, v + 10, v + 8, v + 10, v + 11, v + 10, v + 9, v + 6, v + 10, v + 6, v + 5, v + 8, v + 11, v + 4, v + 8, v + 4, v + 7), o.unshift(v + 0, v + 1, v + 1, v + 2, v + 2, v + 3, v + 3, v + 0, v + 4, v + 5, v + 5, v + 6, v + 6, v + 7, v + 7, v + 4, v + 8, v + 9, v + 9, v + 10, v + 10, v + 11, v + 11, v + 8, v + 10, v + 9, v + 9, v + 6, v + 6, v + 5, v + 5, v + 10)) : t.push(v))
}.bind(this),
function() {
c && "undefined" !== c.Ec && c.Ec()
}.bind(this), !0);
j = new S.Mb({
P: new S.U(b,
3),
Wa: new S.U(g, 2),
ja: new S.jb(m),
ka: [1, 1, 1, 0.85],
alpha: 1,
Xa: h,
Yc: p,
mf: t,
F: function() {
var a = S.V,
b = this.P,
c = this.Wa,
d = this.color,
g = this.ja,
h = this.ka,
j = this.alpha,
i = this.Xa,
l = this.Qb,
m = n;
m.Xc();
m.Ja("vertexPosition", b);
m.Ja("vertexTexCoord", c);
m.Ja("vertexColor", d);
m.Ia("mvMatrix", a.H);
m.Ia("projMatrix", a.ba);
m.rc("tint", h);
m.Te("alpha", j);
m.bindTexture("sampler", i);
a.Ld(l, g);
this.H = $(a.H);
this.ba = $(a.ba)
}
});
l = new S.Mb({
P: j.P,
ja: new S.jb(o),
color: "#0004",
Qb: d.LINES
});
this.ee()
}
}.bind(this),
A = function() {
var a =
gBrowser.tabContainer,
b = gBrowser.contentWindow,
c = TiltChrome.BrowserOverlay.D.C,
d = TiltChrome.BrowserOverlay.I.C;
window.addEventListener("MozAfterPaint", D, !1);
a.addEventListener("TabClose", m, !1);
a.addEventListener("TabAttrModified", m, !1);
b.addEventListener("blur", E, !1);
b.addEventListener("focus", G, !1);
b.addEventListener("resize", I, !1);
gBrowser.addEventListener("mouseover", K, !1);
gBrowser.addEventListener("load", M, !0);
c.addEventListener("popupshown", o, !1);
c.addEventListener("popuphidden", J, !1);
d.addEventListener("popupshown",
L, !1);
d.addEventListener("popuphidden", B, !1)
}.bind(this),
D = function(b) {
if (!this.fd && !this.ed && !this.dd) {
var b = b.boundingClientRect,
c = a.offsetLeft,
d = window.content.innerWidth,
g = window.content.innerHeight,
h = b.left,
j = b.top,
i = b.width,
l = b.height;
j > a.offsetTop && h > c && i > 4 && l > 4 ? this.Sc(b) : h <= 0 && j <= 0 && (h >= -d || j >= -g) && (i >= d || l >= g) && window.setTimeout(function() {
try { ! y && !z && (this.Sc(k), this.ie())
} catch(a) {}
}.bind(this), 10)
}
}.bind(this),
m = function() {
if (TiltChrome.BrowserOverlay.href !== window.content.location.href) TiltChrome.BrowserOverlay.href =
k,
TiltChrome.BrowserOverlay.d(!0, !0)
}.bind(this),
E = function() {
this.dd = !0;
window.setTimeout(function() {
this.dd = !1
}.bind(this), 100)
}.bind(this),
G = function() {
this.ed = !0;
window.setTimeout(function() {
this.ed = !1
}.bind(this), 100)
}.bind(this),
I = function() {
this.fd = !0;
this.v();
d.width = window.content.innerWidth;
d.height = window.content.innerHeight;
b && "function" === typeof b.pa && b.pa(d.width, d.height);
c && "function" === typeof c.pa && c.pa(d.width, d.height);
"open" === TiltChrome.BrowserOverlay.D.C.state && TiltChrome.BrowserOverlay.D.C.hidePopup();
"open" === TiltChrome.BrowserOverlay.I.C.state && TiltChrome.BrowserOverlay.I.C.hidePopup()
}.bind(this),
K = function() {
window.setTimeout(function() {
this.fd = !1
}.bind(this), 100);
this.v();
d.width = window.content.innerWidth;
d.height = window.content.innerHeight;
if (a.width !== d.width || a.height !== d.height) a.width = d.width,
a.height = d.height,
d.t.viewport(0, 0, a.width, a.height),
t()
}.bind(this),
M = function() {
"undefined" === typeof this.ze ? this.ze = !0: window.setTimeout(function() {
try { ! y && !z && (this.Sc(k), this.ie())
} catch(a) {}
}.bind(this),
1E3)
}.bind(this),
o = function() {
"function" === typeof c.ce && c.ce();
this.v()
}.bind(this),
J = function() {
"function" === typeof c.be && c.be();
p.index = -1;
TiltChrome.BrowserOverlay.Xb();
this.v()
}.bind(this),
L = function() {
this.v()
}.bind(this),
B = function() {
"function" === typeof c.de && c.de();
p.index = -1;
TiltChrome.BrowserOverlay.Xb();
this.v()
}.bind(this);
this.v = function() {
x = !0
};
this.Sc = function(a) {
this.Ee = a;
z = x = !0
};
this.ie = function() {
y = x = !0
};
this.Df = function(a, b) {
S.va.Rf(g, a + S.va.separator + b + ".png");
j.save(a, b)
};
this.ee =
function() {
this.v();
for (var a = TiltChrome.ua.c.g, b = S.h.M.bind(S.h), c = S.h.xa.bind(S.h), d = Math.floor, g = j.Yc, h = [], i = 0, l = j.ja.Q.length; i < l; i += 30) {
var m = g[d(i / 30)],
m = c((a[m.localName !== "head" && m.localName !== "body" ? m.localName: "head/body"] || a.other).fill),
n = [b(m[0] * 0.6, 0, 1), b(m[1] * 0.6, 0, 1), b(m[2] * 0.6, 0, 1)],
o = [b(m[0] * 1, 0, 1), b(m[1] * 1, 0, 1), b(m[2] * 1, 0, 1)],
m = n[0],
p = n[1],
n = n[2],
q = o[0],
r = o[1],
o = o[2];
h.unshift(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, m, p, n, m, p, n, q, r, o, q, r, o, q, r, o, q, r, o, m, p, n, m, p, n)
}
j.color = new S.U(h, 3)
};
this.Cf =
function(a, b) {
this.fe(a, b, {
Nc: function(a) {
"open" === TiltChrome.BrowserOverlay.D.C.state && TiltChrome.BrowserOverlay.D.C.hidePopup();
var b = a[0].ae,
a = b.index,
b = b.localName !== "head" && b.localName !== "body" ? b.localName: "head/body",
c = TiltChrome.ua.c.g[b] || TiltChrome.ua.c.g.other;
if (b !== "html") {
p.index = a;
p.fill = c.fill + "55";
p.stroke = c.fill + "AA";
var a = p.index * 30,
b = j.P.Q,
c = j.ja.Q,
d = [b[c[a + 1] * 3], b[c[a + 1] * 3 + 1], b[c[a + 1] * 3 + 2], 1],
g = [b[c[a + 2] * 3], b[c[a + 2] * 3 + 1], b[c[a + 2] * 3 + 2], 1],
h = [b[c[a + 5] * 3], b[c[a + 5] * 3 + 1], b[c[a + 5] * 3 +
2], 1];
p.Je = [b[c[a] * 3], b[c[a] * 3 + 1], b[c[a] * 3 + 2], 1];
p.Ke = d;
p.Le = g;
p.Me = h
}
}.bind(this),
Ta: function() {
"open" === TiltChrome.BrowserOverlay.D.C.state && TiltChrome.BrowserOverlay.D.C.hidePopup();
p.index = -1
}
})
};
this.Bf = function(a, b) {
this.fe(a, b, {
Nc: function(a) {
this.Ua(a[0].ae)
}.bind(this),
Ta: function() {
"open" === TiltChrome.BrowserOverlay.D.C.state && TiltChrome.BrowserOverlay.D.C.hidePopup()
}
})
};
this.fe = function(a, b, c) {
for (var c = c || {},
a = S.h.Xe([a, b, 0], [a, b, 1], [0, 0, d.width, d.height], j.H, j.ba), b = [], g = Y(), h = j.ja.Q,
i = j.P.Q, l = 0, m = h.length, n, o, p; l < m; l += 3) n = [i[h[l] * 3], i[h[l] * 3 + 1], i[h[l] * 3 + 2]],
o = [i[h[l + 1] * 3], i[h[l + 1] * 3 + 1], i[h[l + 1] * 3 + 2]],
p = [i[h[l + 2] * 3], i[h[l + 2] * 3 + 1], i[h[l + 2] * 3 + 2]],
S.h.tf(n, o, p, a, g) > 0 && b.push({
ae: j.Yc[Math.floor(l / 30)],
location: Y(g)
});
b.length > 0 ? (b.sort(function(a, b) {
return a.location[2] < b.location[2] ? 1: -1
}), "function" === typeof c.Nc && c.Nc(b)) : "function" === typeof c.Ta && c.Ta();
this.v()
};
this.Ua = function(a) {
if ("number" === typeof a) {
for (var b = j.Yc, c = j.mf, d = 0, g = b.length; d < g; d++) {
var h = b[d];
if (a === h.xb) {
this.Ua(h);
return
}
}
b = 0;
for (d = c.length; b < d; b++) if (g = c[b], a === g.xb) {
this.Ua(g);
break
}
} else if ("object" === typeof a) {
var c = TiltChrome.BrowserOverlay.D.C,
b = S.Gd.trim(wa(a.innerHTML).replace(/</g, "&lt;").replace(/>/g, "&gt;")) + "\n",
d = S.G.gf(a.style),
g = S.G.ef(a.attributes),
h = document.getElementById("tilt-sourceeditor-iframe"),
i = h.contentDocument.getElementById("code");
document.getElementById("tilt-sourceeditor-title").value = "<" + a.localName + (a.className ? ' class="' + a.className + '"': "") + (a.id ? ' id="' + a.id + '"': "") + ">";
c.openPopup(k,
"overlap", window.innerWidth - h.width - 21, window.innerHeight - h.height - 77, !1, !1);
i.of = b;
i.Ye = d;
i.Re = g;
a.localName === "img" || a.localName === "input" || a.localName === "button" || i.Sb === "attr" ? (i.innerHTML = g, h.contentWindow.refreshCodeEditor("css")) : i.Sb === "css" ? (i.innerHTML = d, h.contentWindow.refreshCodeEditor("css")) : (i.innerHTML = b, h.contentWindow.refreshCodeEditor("html"));
c = a.index;
a = a.localName !== "head" && a.localName !== "body" ? a.localName: "head/body";
b = TiltChrome.ua.c.g[a] || TiltChrome.ua.c.g.other;
if (a !== "html") p.index =
c,
p.fill = b.fill + "55",
p.stroke = b.fill + "AA",
this.v()
}
};
this.le = function() {
var a = document.getElementById("tilt-sourceeditor-iframe"),
b = a.contentDocument.getElementById("code");
b.innerHTML = b.of;
b.Sb = "html";
a.contentWindow.refreshCodeEditor("html")
};
this.Sf = function() {
var a = document.getElementById("tilt-sourceeditor-iframe"),
b = a.contentDocument.getElementById("code");
b.innerHTML = b.Ye;
b.Sb = "css";
a.contentWindow.refreshCodeEditor("css")
};
this.Zb = function() {
var a = document.getElementById("tilt-sourceeditor-iframe"),
b = a.contentDocument.getElementById("code");
b.innerHTML = b.Re;
b.Sb = "attr";
a.contentWindow.refreshCodeEditor("css")
};
this.Xf = function(a) {
var b = a[1],
c = a[2];
if (s.ea[0] != a[0] || s.ea[1] != b || s.ea[2] != c) b = s.ea,
b[0] = a[0],
b[1] = a[1],
b[2] = a[2],
this.v()
};
this.Vf = function(a) {
var b = a[1],
c = a[2],
d = a[3];
if (s.rotation[0] != a[0] || s.rotation[1] != b || s.rotation[2] != c || s.rotation[3] != d) qa(a, s.rotation),
this.v()
};
this.me = function(a) {
l.color = a;
this.v()
};
this.Ug = function(a) {
l.color[3] = a;
this.v()
};
this.Tf = function(a) {
j.ka = a;
this.v()
};
this.Tg = function(a) {
j.ka[3] = a;
this.v()
};
this.Uf = function(a) {
j.alpha = a;
this.v()
};
this.d = function() {
var C = gBrowser.tabContainer,
X = gBrowser.contentWindow,
W = TiltChrome.BrowserOverlay.D.C,
Q = TiltChrome.BrowserOverlay.I.C;
D !== k && (window.removeEventListener("MozAfterPaint", D, !1), D = k);
m !== k && (C.removeEventListener("TabClose", m, !1), C.removeEventListener("TabAttrModified", m, !1), m = k);
E !== k && (X.removeEventListener("blur", E, !1), E = k);
G !== k && (X.removeEventListener("focus", G, !1), G = k);
I !== k && (X.removeEventListener("resize",
I, !1), I = k);
K !== k && (gBrowser.removeEventListener("mouseover", K, !1), K = k);
M !== k && (gBrowser.removeEventListener("load", M, !0), M = k);
o !== k && (W.removeEventListener("popupshown", o, !1), o = k);
J !== k && (W.removeEventListener("popuphidden", J, !1), J = k);
L !== k && (Q.removeEventListener("popupshown", L, !1), L = k);
B !== k && (Q.removeEventListener("popuphidden", B, !1), B = k);
b && "function" === typeof b.d && (b.d(a), b = k);
c && "function" === typeof c.d && (c.d(a), c = k);
h !== k && (h.d(), h = k);
j !== k && (j.d(), j = k);
l !== k && (l.d(), l = k);
n !== k && (n.d(), n = k);
p !== k && (S.w(p), p = k);
s !== k && (S.w(s), s = k);
d !== k && (d.d(), d = k);
A = u = r = w = q = t = F = y = z = x = s = p = n = l = j = i = h = g = c = b = a = k;
S.w(this)
};
S.q.u("TiltChrome.Visualization", this);
F.call(this);
t.call(this)
};
TiltChrome = TiltChrome || {};
TiltChrome.Z = {};
TiltChrome.Z.Ob = {
zb: "attribute vec3 vertexPosition;\nattribute vec2 vertexTexCoord;\nattribute vec3 vertexColor;\nuniform mat4 mvMatrix;\nuniform mat4 projMatrix;\nvarying vec2 texCoord;\nvarying vec3 color;\nvoid main(void) {\n gl_Position = projMatrix * mvMatrix * vec4(vertexPosition, 1.0);\n texCoord = vertexTexCoord;\n color = vertexColor;\n}",
qb: "#ifdef GL_ES\nprecision lowp float;\n#endif\nuniform vec4 tint;\nuniform float alpha;\nuniform sampler2D sampler;\nvarying vec2 texCoord;\nvarying vec3 color;\nvoid main(void) {\n if (texCoord.s < 0.0) {\n gl_FragColor = vec4(color.r, color.g, color.b, tint.a);\n }\n else {\n vec4 texture = texture2D(sampler, texCoord);\n gl_FragColor = tint * texture * alpha + tint * (1.0 - alpha);\n }\n}"
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment